




     ## UPGRADING FROM VERSION 0.1.0 ?
     ## ==============================
     ##
     ##   Find 'UPDATER.sh' in the 'UPGRADING_FROM_0.1.0' folder.




## LICENSE:

## The below, is a DISTRIBUTED ANTITRUST LAW. It is COPYLEFT-LICENSED as GPLv3, with some basic yet strict limitations below. Originally by 'UNSENDER' and released in 2023 for the sole purpose of ending DIGITAL SLAVERY AND SUPPRESSION and thus only designed for FREE-LICENSE and OPEN-SOURCE 'OPERATING SYSTEMS' or, as they are referred to in the linux community, 'DISTROS'. DIRECTLY FOLLOWING THIS LICENSE A FULL AND COMPLETE LIST OF ADAPTATIONS MADE TO THIS DOCUMENT MUST BE INCLUDED. IT IS IMPERATIVE THAT THIS DOCUMENT REMAINS A HUMAN-READABLE, living, breathing, changing document FOR THE NON-TECHNICAL USER such that the user can learn linux operations. NO SINGLE PERSON OR ENTITY CAN BE MADE LIABLE IN ANY CIVIL OR CRIMINAL COURT FOR ITS CONTENTS, NOR TO GUARANTEE FITNESS OR WARRANTIES FOR A PARTICULAR PURPOSE. IT IS PROVIDED 'AS IS' IN THE HOPE THAT IT WILL BE (***VERY***) USEFUL.

## It is considered a 'CYPHER'CRIME for a person connected to the DIGITAL COLONIZATION, which include any employee of, investor in, or any person who has a close family member, friend or associate who is invested in, or an employee of any entity listed in THE DIGITAL FEUDALISTS section of this document, to publish or make available for publish, adaptations to this document, while they have any such CONFLICT(S) OF INTEREST and for a TIME PERIOD OF NO LESS THAN (4) FOUR YEARS since having such CONFLICT(S) OF INTEREST.

## Note that BYTEDANCE, FASTLY, LITESPEED, NETFLIX, REDDIT and YANDEX only partially met below criteria and thus not included.

## END OF LICENSE


## CHANGELOG:

## 2023-05 - 0.2.0 - Unsender
##   - Original issues and questions remain.
##   - FIX: Removed large 8.0.0.0/9 (SpaceX) block, which caused false positives (caused by data-scraping method - now updated). Thanks gnulinux.social user!
##   - FIX: List 'papirus-icon-theme' package as a required dependency.
##   - FIX: Original launch year from "2022" to "2023"
##   - FIX: IPv6 improved performance (TBConfirmed)
##   - FEATURE: Added ALIBABA and TENCENT as feudalists
##   - FEATURE: Added icon for AKAMAI + better (anti) icon for APPLE + optimised icon selection
##   - FEATURE: Simplified license + other clarifications.
##   - CLEANUP and COMMENTING
##
## 2023-03 - 0.1.0 - Unsender
##   - Original release, knowing that its far from complete/perfect, thus the '0.1.0' numbering.
##     - IPv6 untested,
##     - Unsure if the 'group method' is the best and most effecient way to "isolate" applications,
##     - Known bug in 'notify-me-of-firewall-action.sh' script where a name of an prior offending program is improperly attributed to another program.




     ======================================================

        DIGITAL FEUDALISM COUNTER ACTION (Antitrust Law)

                       /with instruction/


                         Version  0.2.0

     ======================================================



     To the fellow ninety-nine percent (99%),

        If you oppose the tech giant's ever-expanding monopoly and dictates
     over our lives it's your duty to read the following, enforce it, and share it.



     INTRODUCTION
     ============

     Back in the 13th century The Magna Carta's 'Charter of the Forest' outlined sensible limits on how much land kings could have dominion over. Its now clear that we need the same, but for our digital realm; our digital commons. The following is NOT intended as automated Linux (bash) script or code, it is an INTERNET LAW to limit the power of the DIGITAL FEUDALIST, and should be read and applied with diligence to your linux distro. We realize that our govts are captured by the techno-feudalists and in many cases enjoy personal benefits from being complicit in the takeover.

     Our governments are thus unable to enact laws that are in the best interest of 99%.

     Therefore as CYPHERPUNK philosophy dictates, we must no longer appeal to governments to enact change and thus call upon the internet defending community and all CONSCIENTIOUS OBJECTORS, I.T. professionals, webmasters and administrators to enact it.

     If only 3% of people enact this law, it will be impossible to stop. We will again be free of extreme digital bondage - to remain vigilant forever of extreme monopoly powers.

     The DIGITAL FEUDALISM COUNTER ACTION (DFCA) LAW is below.




     DEFINITIONS
     ===========


     CIVILISATION - humans that value various forms of co-existence.


     CYPHERPUNKS - are people that choose not to wait for govts to enact the needed laws but who write their own code/laws that can be put into practice, generally automatically with the help of computers. The motto of a cypherpunk is, "cypherpunks write code".


     DIGITAL FEUDALIST - is any single controlling entity, person or group of persons who control more than 1 million* IPv4 addresses and 16.8 million** IPv6 addresses and command an overbearing influence over our daily lives, whether explicitly or through their numourous investments, proprietary software installations and surveillance powers. These numbers are plucked out of the air however an indepth open-source analysis may expose that a cap of 256K or even 128K IP addresses may be appropriate.

       * Actual number is 1,048,576  =  2^20  =  20 bits
       ** Actual number is 16,777,216  =  2^24  =  24 bits

     THE DIGITAL FEUDALISTS in alphabetical order are:
     - AKAMAI
     - ALIBABA
     - AMAZON
     - APPLE
     - CLOUDFLARE
     - FACEBOOK
     - GOOGLE
     - MICROSOFT
     - MUSK (incl. SPACEX STARLINK TESLA TWITTER)
     - ORACLE
     - TENCENT

     The following did not satisfy above tentative criteria:
     - BYTEDANCE
     - FASTLY
     - LITESPEED
     - NETFLIX
     - REDDIT
     - YANDEX (not enough IPv4 Address)

     Further understanding and research TBC:
     - ADOBE
     - DIGITAL OCEAN (re IP addresses appears to be a problem)
     - IBM


     ENFORCERS - describe any person, entity, or machine that actively supports the law by using the instructions in the section titled 'INSTALL AND ENFORCE'.

     PARTICIPANTS - (see /ENFORCERS/)



     The DFCA LAW - Digital Feudalism Counter Action (Antitrust Law)
     ===============================================================

     No DIGITAL FEUDALIST, alone or in collusion with other entities should exist, and while they do, they will be considered a threat to CIVILISATION and blocked from communication with PARTICIPANTS by blocking connections with them.

     PARTICIPANTS are able to see any blocked connection attempts in realtime, which can be satisfying.

     The ENFORCERS consider it a 'CYPHER'CRIME for anyone, including the DIGITAL FEUDALISTS featured, to seek to undermine the distribution and enforcement of this law, or seek to hide which IP addresses they use.

     This document is not a program, script or application but a set of easily readable documented instructions that form a user-activated law against UNWANTED DOMESTIC AND INTERNATIONAL PHYSICAL AND ELECTRONIC ABUSE that manifests from MONOPOLY POWER. This document is PROTECTED SPEECH. It is indeed DOMESTIC ABUSE because these devices with their algorithms have been placed into homes, often under duress and threat of losing access to the digital commons, the arts, employment and finance*.

     * Cloudflare, Amazon, Microsoft and Akamai have been identified as gate-keepers that stand between the citizenry and their govts or financial institutions. Since 2016, Google, Apple and Facebook have acted increasingly as publishers and not as platforms for dialogue and have stifled the arts and innovation. SpaceX and Amazon, Cloudflare, Google, Alibaba, Facebook, Microsoft and Akamai appear to be vying to be sole providers of internet infrastructure in various regions. All DIGITAL FEUDALISTS engage closely with govt such that we see evidence of fascistic mass surveillance, censorship and suppression. Many abuses seem be perpetuated by DIGITAL FEUDALISTS under the guise of fighting "threats" or "attacks".




-----
-----
-----









 ## ===================
 ## INSTALL AND ENFORCE
 ## ===================

 ##   This implementation of the DFCA Law requires;
 ##    - date
 ##    - iptables
 ##    - ip6tables
 ##    - notifysend
 ##    - papirus-icon-theme (icons to represent some DIGITAL FEUDALISTs)
 ##    - groupadd
 ##    - sg
 ##    - usermod

 ##   Highly recommended are packages:
 ##    - tor
 ##    - torsocks

 ##   The 'tor' software is ideal for resolving domain names (DNS request (see
 ##     documentation, specifically using tor port '5353').

 ##   We will use a firewall to prevent our computer from communicationing with
 ##     IP Addresses that are associated to the DIGITAL FEUDALISTS. Although this
 ##     document contains lists of IP Addresses you don't need to trust our IP
 ##     Address list. An example, of how to produce your own list is provided***.

 ##  *** (See 'EXAMPLE INSTRUCTIONS: How to produce your own Cloudflare IP Range List')

 ##   This section contains commands for your linux command line (aka 'bash')
 ##     terminal. Sometimes the terminal is called a 'shell'. You will likely want
 ##     to re-type or copy commands from this document to your terminal. The
 ##     terminal ignores everything on a line after a (#) hash symbol so at the
 ##     start of each line that is not a command a '#' has been added to prevent
 ##     execution of random nonsense.

 ##   Commands may be copied to the terminal by simply selecting them here, and then
 ##     middle mouse clicking on your terminal

 ##   To start, 'make' a 'dir'ectory for this 'law-DFCA' with the
 ##     command && 'c'hange 'd'irectory to this folder:
mkdir $HOME/.law-DFCA   &&   cd $HOME/.law-DFCA

 ##   Manually copy this text you are reading to a new blank file with 'the year
 ##     and date' followed by '_README':
touch README_AND_INSTALL_INSTRUCTIONS.txt

 ##   Create a folder for all the DIGITAL FEUDALISTS
mkdir Akamai Alibaba Amazon Apple Cloudflare Facebook Google Microsoft Oracle SpaceX Tencent

touch {Akamai,Alibaba,Amazon,Apple,Cloudflare,Facebook,Google,Microsoft,SpaceX,Tencent}/ENSURE_ONLY_ONE-set-of-IPv4-and-v6-addresses-in-folder-or-iptables-will-get-slow

 ##   It is highly recommended that your 'bash history' ignores commands with a
 ##     'leading space'. Some of the following commands are very long and
 ##     without using the leading space you may completely replace your
 ##     command history with a list of DIGITAL FEUDALIST IP addresses. Yuck!

echo 'export HISTCONTROL=ignoreboth' >> ~/.bashrc


 ##   Catch an app breaking DFCA Law
 ##   ------------------------------
 ##   By creating special groups for your most important applications and
 ##     launching applications from inside the group it's easy to identify when 
 ##     an app attempts to "phone home" to a DIGITAL FEUDALIST. You'll get a
 ##     little pop-up saying 'Cloudflare outgoing blocked' with the name of the
 ##     offending program. It's then easy to report such to your peers and ask
 ##     the maintainer why this might be happening. Keep in mind that P2P
 ##     applications like cryptocurrencies, or I2P, might have some bad actors
 ##     trying to operate nodes and snoop on the network and so the software
 ##     maintainer can do little about that, short of adding a blocklist in
 ##     their application.

 ##   Even in the case of P2P applications you can gain knowledge about the
 ##     DIGITAL FEUDALISTS potentially snooping and so such this step is highly
 ##     recommended for all applications you use regularly, even ones you think
 ##     don't connect to the internet.

 ##   Requires the following which you probably have if you are running a
 ##     linux distribution;
 ##    - groupadd
 ##    - sg
 ##    - usermod
 ##
 ##    (NOTE FOR ADVANCED USERS: iptables was modified in 2010 and no longer
 ##      provides the PID of the parent process, which is fine because its best 
 ##      to create a group for each Application of Interest. Resources like the 
 ##      following were used in forming this method:
 ##      https://stackoverflow.com/questions/4314163/create-iptables-rule-per-process-service
 ##    )

 ##    Below are examples of how to produce groups for this law. Always start a
 ##      group name with "_d_f_c_a_law_" to classify the group, then append the
 ##      program name that will be shown in the alert message.

 ##    Examples for an app like Tor browser (omit the comment (#) symbol to use)

sudo groupadd --system _d_f_c_a_law__tor-browser    # pop-up will say 'Tor browser'   (recommended)
#sudo groupadd --system _d_f_c_a_law_-tor_browser                # => 'torBrowser'
#sudo groupadd --system _d_f_c_a_law_-torbrowser                 # => 'torbrowser'

sudo groupadd --system _d_f_c_a_law__i_2_p               # => 'I2P' <-- this or...
#sudo groupadd --system _d_f_c_a_law__i_2_pd             # => 'I2Pd'
#sudo groupadd --system _d_f_c_a_law_-i2pd               # => 'i2pd'
#sudo groupadd --system _d_f_c_a_law_-i2prouter          # => 'i2prouter'

 ##    Groups you might use for other browsers:

#sudo groupadd --system _d_f_c_a_law__firefox            # => 'Firefox'
#sudo groupadd --system _d_f_c_a_law__librewolf          # => 'Librewolf'
#sudo groupadd --system _d_f_c_a_law__ice_cat            # => 'IceCat', or alternatively
#sudo groupadd --system _d_f_c_a_law__gnuzilla           # => 'Gnuzilla'
#sudo groupadd --system _d_f_c_a_law__ice_weasel         # => 'IceWeasel'
#sudo groupadd --system _d_f_c_a_law__pale-_moon         # => 'Pale Moon'

 ##    Other apps perhaps?:

#sudo groupadd --system _d_f_c_a_law__libre_office       # => 'LibreOffice'
#sudo groupadd --system _d_f_c_a_law__p_d_f-_reader      # => 'PDF Reader'
#sudo groupadd --system _d_f_c_a_law__emailer            # => 'Emailer'

 ##    To see all the groups, including those you just made.
cat /etc/group

 ##    In order to launch the applications in the groups, add yourself to
 ##     the above groups, eg:
sudo usermod $(who | sed 's/ .*//g') -aG _d_f_c_a_law__tor-browser  # '-a' is important, it (a)ppends groups.
                                                                    #   Without it you erase all the other
sudo usermod $(who | sed 's/ .*//g') -aG _d_f_c_a_law__ice_cat      #   groups and you'll likely break your
sudo usermod $(who | sed 's/ .*//g') -aG _d_f_c_a_law__i_2_p        #   access to the system!
sudo usermod $(who | sed 's/ .*//g') -aG _d_f_c_a_law__p_d_f-_reader

 ##    Instructions may vary on how to launch an application inside a group.
 ##      Consider consulting basic documentation. Generally speaking you'll need
 ##      to locate a ".desktop" file and change it slightly so a command changes
 ##      from something like:
 ##        tor-browser
 ##      to:
 ##        sg _d_f_c_a_law__tor-browser 'tor-browser'



 ##   About DNS (Domain Name Service)
 ##   -------------------------------
 ##   Before you even visit a website your computer must resolve the domain name
 ##     (eg. joyful.com) to an IP address (eg. 123.34.45.67) and this is done
 ##     increasingly by DNS Servers that are Google and Cloudflare, who
 ##     therefore enjoy a sneak peak at what sites you might be interested in.
 ##
 ##     (The forward arrow (>) below writes the echo'ed (ie. written) output, in
 ##     this case an IP Address Range, to a file in the 'Cloudflare'
 ##     folder, rather than simply outputting it to the terminal. Take
 ##     a look for yourself (CAREFUL WHEN USING '>' because it
 ##     will overwrite any file you might have had there!)

echo '1.1.1.0/24' > Cloudflare/cf_DNS-only.txt

 ##   Next this Google DNS command.
echo '8.8.8.0/24' > Google/goog_DNS-only.txt

 ##   We make seperate files for the above DNS resolver IP ranges because we
 ##     will place them at the start of our blocklist, because they are so
 ##     commonly used by applications and linux distros (distributions), whose
 ##     developers are more interested in basic functionality over higher
 ##     concerns (regretfully there are many!).

 ##   ******TBC****** Configure the DNS to go through 'tor' (port 5353)
 ##   

 ##   Generating the list of IP Ranges
 ##   --------------------------------
 ##   The following long commands may span a number of lines. Take care to copy them
 ##     fully and completely. Let's start with shorter ones so they can be seen in
 ##     full. Don't forget to include the 'leading space' so the command is not 
 ##     added to your 'bash history':




 ##   FACEBOOK
 ##   --------

 ##   Facebook is a big network that uses ASNs. The following known (ie. there may
 ##      be more) ASNs for this DIGITAL FEUDALIST are below (see EXAMPLE
 ##      INSTRUCTIONS for how to go from an ASN to generating your own list):
 ##
 ##     AS32934
 ##     AS42138 (metaInc)
 ##     AS54115
 ##     AS63293


 echo '31.13.24.0/21
31.13.64.0/18
45.64.40.0/22
66.220.144.0/20
69.63.176.0/20
69.171.224.0/19
74.119.76.0/22"
102.132.96.0/20
102.132.112.0/21
102.132.120.0/23
102.132.122.0/24
102.132.124.0/22
102.221.188.0/22
103.4.96.0/22
129.134.0.0/16
147.75.208.0/20
157.240.0.0/16
163.114.128.0/20
164.163.191.64/26
173.252.64.0/18
179.60.192.0/22
185.60.216.0/22
185.89.216.0/22
194.0.131.0/24
199.201.64.0/22
204.15.20.0/22' > Facebook/202202_02_fbook-CIDRCollapsed.txt


 ## Facebook's IPv6

 echo '2401:db00::/32
2620:0:1c00::/40
2620:10d:c090::/44
2a03:2880::/31
2a03:2887:ff18::/47
2a03:2887:ff1b::/48
2a03:2887:ff1c::/46
2a03:2887:ff21::/48
2a03:2887:ff23::/48
2a03:2887:ff24::/47
2a03:2887:ff27::/48
2a03:2887:ff28::/46
2a03:2887:ff2e::/47
2a03:2887:ff30::/48
2a03:2887:ff33::/48
2a03:2887:ff35::/48
2a03:2887:ff36::/47
2a03:2887:ff38::/46
2a03:2887:ff3f::/48
2a03:2887:ff40::/47
2a03:2887:ff43::/48
2a03:2887:ff44::/47
2a03:2887:ff48::/46
2a03:83e0::/32
2c0f:ef78::/47
2c0f:ef78:3::/48
2c0f:ef78:5::/48
2c0f:ef78:6::/48
2c0f:ef78:9::/48
2c0f:ef78:c::/46
2c0f:ef78:10::/47' > Facebook/202202_02_fbook-IPv6-CIDRCollapsed.txt




 ##   APPLE
 ##   -----

 ##   A DIGITAL FEUDALIST network that is known to use ASN 714 (AS714). May not
 ##      be a complete list. See EXAMPLE INSTRUCTIONS for how to go from ASN to
 ##      generating your own list):

 echo '17.0.0.0/8
57.102.0.0/15
57.112.0.0/12
63.92.224.0/19
65.199.22.0/23
92.118.32.0/22
139.178.128.0/17
144.178.0.0/18
192.35.50.0/24
194.126.240.0/24
198.183.16.0/23
204.179.120.0/24
205.180.175.0/24' > Apple/202202_02_appl-CIDRCollapsed.txt


 ## Apple's IPv6

 echo '2403:300::/32
2620:0:1b00::/47
2620:0:1b02::/48
2620:0:1b04::/47
2620:149::/32
2a01:b740::/32
2a01:b747::/32' > Apple/202202_02_appl-IPv6-CIDRCollapsed.txt




 ##   ALIBABA
 ##   -------

 ##   This DIGITAL FEUDALIST appears to be using the following
 ##     ASN (see EXAMPLE INSTRUCTIONS to produce a list from ASNs):
 ##
 ##     AS45102 (`whois' request may timeout on slow connections because response is so big, ie. 25Mb)
 ##

 echo '5.181.224.0/23
8.128.0.0/10
8.208.0.0/12
14.1.112.0/22
39.96.0.0/13
39.104.0.0/14
39.108.0.0/16
42.96.128.0/17
42.120.0.0/15
42.156.128.0/17
43.0.0.0/9
43.227.188.0/22
43.230.32.0/22
43.242.168.0/22
43.250.12.0/22
45.112.208.0/20
45.113.40.0/22
45.158.183.0/24
45.196.28.0/24
45.199.179.0/24
47.52.0.0/16
47.56.0.0/15
47.74.0.0/15
47.76.0.0/14
47.80.0.0/12
47.99.0.0/16
47.100.0.0/14
47.104.0.0/13
47.112.0.0/12
47.235.0.0/16
47.236.0.0/14
47.240.0.0/14
47.244.0.0/15
47.246.0.0/16
47.250.0.0/15
47.252.0.0/15
47.254.0.0/16
59.82.0.0/16
59.110.0.0/16
60.205.0.0/16
62.128.96.0/22
72.254.0.0/16
89.219.0.0/22
91.192.106.0/23
101.37.0.0/16
101.132.0.0/15
101.200.0.0/15
103.15.96.0/22
103.38.56.0/22
103.41.140.0/22
103.47.4.0/22
103.49.76.0/22
103.52.72.0/21
103.52.80.0/21
103.52.196.0/22
103.81.186.0/23
103.142.8.0/23
103.142.100.0/23
103.145.72.0/24
103.151.206.0/23
103.183.154.0/23
103.206.40.0/22
103.212.44.0/22
103.216.108.0/22
106.11.0.0/16
106.14.0.0/15
110.75.128.0/17
110.76.0.0/18
110.173.192.0/19
112.74.0.0/16
112.124.0.0/14
114.55.0.0/16
114.215.0.0/16
115.28.0.0/15
115.124.16.0/20
116.62.0.0/16
116.251.64.0/18
117.49.0.0/16
118.31.0.0/16
118.178.0.0/16
118.190.0.0/16
119.23.0.0/16
119.38.208.0/20
119.38.224.0/20
119.42.224.0/19
120.24.0.0/14
120.55.0.0/16
120.76.0.0/14
121.0.16.0/20
121.40.0.0/14
121.89.0.0/16
121.196.0.0/14
122.254.76.0/23
123.56.0.0/15
139.5.160.0/22
139.95.0.0/16
139.129.0.0/16
139.196.0.0/16
139.224.0.0/16
140.205.0.0/16
147.139.0.0/16
149.129.0.0/16
154.89.65.0/24
154.89.66.0/23
154.89.68.0/22
154.89.72.0/21
154.89.80.0/20
154.89.96.0/19
154.212.168.0/21
154.212.176.0/20
154.212.192.0/18
154.220.64.0/18
155.102.0.0/16
156.224.138.0/24
156.225.132.0/22
156.225.136.0/21
156.225.144.0/20
156.226.24.0/21
156.226.32.0/19
156.227.20.0/24
156.236.12.0/24
156.236.17.0/24
156.240.76.0/23
156.244.64.0/18
156.245.1.0/24
156.245.32.0/19
156.250.4.0/22
156.250.8.0/21
156.250.16.0/20
157.119.192.0/22
157.119.240.0/22
161.117.0.0/16
163.181.0.0/16
170.33.0.0/16
182.92.0.0/16
185.78.106.0/23
185.218.176.0/22
198.11.128.0/18
198.44.244.0/22
202.61.84.0/22
202.144.199.0/24
203.107.0.0/17
203.119.128.0/17
203.209.224.0/19
205.204.96.0/19
218.244.128.0/19
223.4.0.0/14' > Alibaba/202305_02_ali-CIDRCollapsed.txt


 ##   Alibaba's IPv6

 echo '2400:3200::/32
2400:b200::/32
2401:2e00::/32
2401:8680::/32
2401:b180::/32
2403:28c0::/32
2404:2280::/32
2405:e000::/32
2406:1880::/32
2406:2880::/32
2407:bc00::/32
2408:4000::/22
240b:4000::/22
2600:3100::/28
2a0b:da40::/29' > Alibaba/202305_02_ali-IPv6-CIDRCollapsed.txt




 ##   AKAMAI
 ##   ------

 ##   A big network. Resources used to glean ASNs include this (archived) one
 ##     https://web.archive.org/http://security.stackexchange.com:80/questions/38658/firewall-defined-akamai-ip-range
 ##     
 ##     The following known (ie. there may be more) ASNs for this DIGITAL
 ##     FEUDALIST are below (see EXAMPLE INSTRUCTIONS for how to go from ASNs
 ##     to generating your own list):
 ##
 ##     AS701 (imported by AS31377) (incl Saranac, Verizon, Amazon)
 ##     AS1299
 ##     AS6461 (imported by AS31377) (incl zayo, fastplanet, telstra, superloop, digitalEnergy, h4y, integra, pccwGlobal)
 ##     AS7545 (!!!not all are akamai prefixes in this ASN (found 2023)!!!)
 ##     AS8918 (CarrierOne?)
 ##     AS12222
 ##     AS16625 (incl starhub, telstra, mobTelecom, embratel.net.br, emix.net.ae, taiwanMobile)
 ##     AS16702
 ##     AS17334
 ##     AS18680
 ##     AS18717
 ##     AS20189
 ##     AS20940
 ##     AS21399 (imported by AS31377)
 ##     AS22207
 ##     AS23454
 ##     AS23455
 ##     AS30675
 ##     AS31377
 ##     AS35993 (incl telstra.com)
 ##     AS35994 (incl transTelco, durand.com.br, telstra)
 ##     AS36183

 echo '2.16.0.0/13
2.255.248.0/21
4.77.205.0/24
5.154.160.0/21
5.253.56.0/22
23.0.0.0/12
23.29.96.0/20
23.32.0.0/11
23.64.0.0/14
23.72.0.0/13
23.129.40.0/24
23.129.56.0/24
23.129.136.0/24
23.130.129.0/24
23.143.96.0/24
23.162.208.0/24
23.176.49.0/24
23.192.0.0/11
24.143.192.0/20
24.227.211.0/24
37.26.112.0/20
37.157.48.0/21
38.78.204.0/22
43.228.184.0/22
43.249.212.0/22
43.254.120.0/22
45.8.20.0/22
45.15.18.0/24
45.43.132.0/22
45.67.200.0/22
45.87.30.0/23
45.134.220.0/23
45.143.100.0/22
45.145.96.0/22
45.146.104.0/24
45.148.4.0/24
45.148.6.0/24
45.148.97.0/24
45.148.98.0/23
45.149.105.0/24
45.149.106.0/23
45.149.224.0/24
45.153.164.0/24
45.236.102.0/24
46.230.176.0/20
46.230.192.0/19
46.230.224.0/20
49.231.112.0/24
49.231.116.0/23
59.151.128.0/18
60.87.0.0/20
60.254.128.0/18
61.19.5.0/24
61.19.8.0/24
61.19.11.0/24
61.19.12.0/23
62.115.0.0/16
62.192.152.0/24
63.0.0.0/11
63.36.0.0/14
63.40.0.0/13
63.48.0.0/12
63.64.0.0/10
63.141.192.0/23
63.141.195.0/24
63.141.196.0/24
63.146.70.0/24
63.150.12.0/24
63.208.195.0/24
63.210.173.0/24
63.217.8.0/24
63.217.232.0/24
63.233.60.0/23
63.233.112.0/24
63.233.126.0/24
63.233.224.0/24
63.235.20.0/23
63.238.251.0/24
63.239.232.0/23
63.243.228.0/24
63.243.230.0/24
63.243.241.0/24
63.243.242.0/24
64.0.204.0/24
64.1.24.0/24
64.1.31.0/24
64.10.0.0/15
64.17.0.0/20
64.20.224.0/19
64.35.224.0/20
64.35.240.0/22
64.35.244.0/24
64.36.0.0/16
64.37.32.0/20
64.50.95.0/24
64.86.95.0/24
64.86.201.0/24
64.86.203.0/24
64.86.205.0/24
64.86.206.0/24
64.89.224.0/20
64.124.188.0/23
64.124.214.0/24
64.125.226.5/32
64.125.228.5/32
64.157.40.192/26
64.208.48.0/25
64.208.187.0/24
64.212.114.0/23
64.222.0.0/18
64.223.0.0/18
64.244.199.0/24
64.245.215.0/24
65.44.171.0/24
65.116.164.0/23
65.118.123.128/26
65.123.23.0/28
65.158.180.0/24
65.158.184.0/24
65.192.0.0/11
65.224.0.0/12
65.240.0.0/13
65.248.0.0/14
65.252.0.0/15
66.12.0.0/14
66.48.0.0/16
66.58.0.0/17
66.110.33.0/24
66.165.167.0/24
66.165.178.0/24
66.165.185.0/24
66.175.96.0/19
66.198.8.0/24
66.219.32.0/19
66.236.163.0/24
67.90.44.0/24
67.90.46.0/23
67.90.63.0/24
67.90.200.0/24
67.91.204.0/23
67.108.178.0/24
67.131.232.0/24
67.132.55.128/25
67.201.98.0/24
67.201.122.0/24
67.208.208.0/20
68.129.0.0/16
68.130.208.0/20
68.131.0.0/16
68.132.0.0/15
68.134.0.0/16
68.140.0.0/15
68.160.64.0/20
68.160.96.0/19
68.160.128.0/17
68.161.0.0/16
68.162.64.0/18
68.162.128.0/17
68.163.32.0/19
68.163.64.0/19
68.163.96.0/20
68.163.121.0/24
68.236.96.0/19
68.236.128.0/18
68.236.192.0/19
68.237.0.0/17
68.237.160.0/21
68.237.192.0/18
68.238.0.0/19
68.238.64.0/20
68.238.96.0/20
68.238.112.0/21
68.238.128.0/20
68.238.160.0/21
68.238.176.0/20
68.238.192.0/18
68.239.0.0/17
69.22.137.0/24
69.22.138.0/24
69.22.148.0/22
69.22.164.0/24
69.27.160.0/20
69.31.20.0/24
69.31.21.0/25
69.31.72.0/22
69.31.76.0/23
69.31.106.0/23
69.31.112.0/23
69.31.116.0/22
69.31.121.0/25
69.31.122.0/24
69.31.132.0/24
69.31.138.0/24
69.42.104.0/23
69.42.110.0/23
69.42.119.0/24
69.42.125.0/24
69.45.79.0/24
69.45.84.0/23
69.45.86.0/24
69.52.14.0/24
69.192.0.0/16
69.195.192.0/18
70.16.0.0/19
70.16.32.0/20
70.16.80.0/20
70.16.128.0/18
70.16.224.0/19
70.17.0.0/17
70.17.192.0/18
70.18.0.0/18
70.18.80.0/20
70.18.192.0/18
70.19.0.0/17
70.20.0.0/19
70.20.128.0/17
70.21.0.0/16
70.22.0.0/15
70.39.139.0/25
70.39.163.0/24
70.104.32.0/19
70.104.128.0/20
70.104.160.0/19
70.104.192.0/20
70.105.0.0/18
70.105.64.0/19
70.105.132.0/23
70.105.160.0/19
70.105.192.0/19
70.106.0.0/19
70.106.64.0/18
70.106.128.0/19
70.106.176.0/20
70.106.192.0/18
70.107.0.0/16
70.108.0.0/16
70.109.48.0/20
70.109.64.0/19
70.109.192.0/18
70.110.16.0/20
70.110.124.0/22
70.110.128.0/17
71.4.62.0/24
71.4.97.0/24
71.4.163.0/24
71.96.0.0/11
71.161.32.0/19
71.161.128.0/18
71.161.224.0/19
71.162.0.0/15
71.164.64.0/18
71.166.0.0/15
71.168.0.0/18
71.168.128.0/17
71.169.0.0/17
71.171.0.0/17
71.172.0.0/16
71.173.0.0/18
71.173.96.0/19
71.173.128.0/17
71.174.0.0/15
71.176.0.0/16
71.178.0.0/15
71.181.128.0/17
71.182.96.0/19
71.182.128.0/17
71.183.0.0/16
71.184.0.0/15
71.186.128.0/17
71.187.0.0/16
71.188.0.0/17
71.188.224.0/20
71.190.0.0/15
71.240.0.0/17
71.240.128.0/19
71.240.192.0/19
71.241.0.0/17
71.241.144.0/20
71.241.224.0/19
71.242.0.0/16
71.243.0.0/17
71.243.128.0/18
71.244.64.0/18
71.244.128.0/17
71.245.0.0/18
71.245.64.0/19
71.245.112.0/20
71.245.128.0/18
71.245.224.0/19
71.246.0.0/19
71.246.64.0/18
71.246.144.0/20
71.246.160.0/24
71.246.174.0/23
71.246.176.0/20
71.246.192.0/18
71.247.0.0/16
71.248.0.0/17
71.248.160.0/19
71.249.0.0/16
71.250.0.0/16
71.251.0.0/18
71.251.128.0/18
71.251.192.0/19
71.251.224.0/20
71.252.0.0/17
71.253.0.0/17
71.253.128.0/18
71.254.48.0/20
71.254.64.0/19
71.254.112.0/20
71.254.192.0/19
71.255.0.0/18
71.255.64.0/19
71.255.96.0/20
71.255.160.0/19
71.255.192.0/18
72.42.0.0/18
72.46.243.0/24
72.46.248.0/24
72.52.2.0/23
72.52.4.0/22
72.52.8.0/21
72.52.16.0/20
72.52.32.0/19
72.64.32.0/19
72.65.0.0/18
72.65.160.0/19
72.65.192.0/18
72.66.0.0/17
72.66.184.0/21
72.66.192.0/19
72.68.0.0/15
72.70.0.0/16
72.71.128.0/18
72.72.0.0/16
72.73.16.0/20
72.73.32.0/19
72.73.192.0/18
72.74.0.0/16
72.75.128.0/19
72.75.192.0/18
72.76.0.0/16
72.77.0.0/17
72.78.0.0/15
72.80.0.0/16
72.81.128.0/17
72.82.0.0/18
72.82.128.0/17
72.83.0.0/16
72.84.64.0/18
72.84.128.0/17
72.85.0.0/16
72.86.0.0/20
72.86.32.0/19
72.86.128.0/17
72.87.64.0/18
72.88.0.0/15
72.90.0.0/18
72.90.64.0/19
72.90.128.0/17
72.92.0.0/17
72.92.208.0/20
72.92.224.0/19
72.93.0.0/16
72.94.0.0/16
72.95.0.0/18
72.95.128.0/17
72.246.0.0/15
74.96.0.0/16
74.97.0.0/17
74.97.128.0/18
74.98.0.0/18
74.98.128.0/20
74.98.160.0/19
74.98.192.0/18
74.99.64.0/19
74.99.104.0/21
74.99.128.0/18
74.101.0.0/16
74.102.0.0/15
74.104.0.0/15
74.106.0.0/19
74.106.64.0/18
74.106.176.0/20
74.106.192.0/20
74.106.224.0/19
74.107.0.0/17
74.107.160.0/20
74.107.180.0/22
74.108.0.0/16
74.109.0.0/17
74.109.160.0/19
74.109.192.0/18
74.110.0.0/18
74.110.64.0/20
74.110.96.0/19
74.110.128.0/17
74.111.0.0/18
74.111.96.0/19
74.111.160.0/19
74.121.124.0/22
77.67.85.0/24
77.67.126.0/24
78.25.41.0/24
79.132.145.0/24
79.140.80.0/23
79.140.84.0/24
79.140.94.0/23
79.141.32.0/20
80.67.64.0/19
80.91.240.0/20
80.239.128.0/17
81.19.216.0/24
82.98.192.0/21
82.98.232.0/21
82.98.240.0/20
83.136.212.0/24
84.53.128.0/18
84.245.48.0/21
84.245.56.0/24
84.245.58.0/23
84.245.60.0/22
84.252.84.0/22
84.254.68.0/22
85.198.32.0/20
85.209.228.0/24
87.241.72.0/22
88.221.0.0/16
89.31.219.0/24
89.35.72.0/24
89.35.127.0/24
89.36.73.0/24
89.37.174.0/24
89.46.96.0/22
89.116.54.0/24
89.116.99.0/24
89.116.103.0/24
89.116.112.0/23
89.116.115.0/24
89.116.156.0/24
89.116.171.0/24
89.116.203.0/24
89.116.208.0/23
89.116.220.0/23
89.116.223.0/24
89.116.233.0/24
89.117.130.0/24
91.149.32.0/20
92.53.176.0/22
92.122.0.0/15
92.241.192.0/20
93.92.66.0/24
93.113.213.0/24
93.123.37.0/24
93.186.134.0/23
93.191.168.0/23
93.191.175.0/24
94.31.0.0/18
94.176.214.0/23
95.100.0.0/15
96.6.0.0/15
96.16.0.0/15
96.47.208.0/20
96.224.0.0/16
96.225.0.0/17
96.225.128.0/18
96.227.0.0/16
96.228.0.0/18
96.228.80.0/20
96.228.96.0/19
96.230.0.0/15
96.232.0.0/16
96.233.0.0/17
96.233.128.0/18
96.233.192.0/19
96.234.0.0/16
96.235.0.0/18
96.235.128.0/17
96.236.0.0/18
96.236.80.0/20
96.236.112.0/20
96.236.128.0/17
96.237.0.0/16
96.238.0.0/17
96.238.128.0/18
96.239.0.0/17
96.239.128.0/19
96.239.160.0/20
96.239.176.0/21
96.239.224.0/20
96.240.0.0/19
96.240.80.0/20
96.240.96.0/20
96.240.128.0/17
96.241.0.0/16
96.242.0.0/16
96.243.0.0/17
96.244.0.0/15
96.246.0.0/16
96.247.128.0/18
96.247.192.0/19
96.247.240.0/20
96.248.0.0/17
96.248.192.0/19
96.249.0.0/18
96.249.128.0/19
96.249.208.0/20
96.249.224.0/19
96.250.0.0/16
96.252.0.0/17
96.253.0.0/17
96.253.192.0/19
96.253.224.0/20
96.255.0.0/16
98.109.0.0/16
98.110.0.0/16
98.111.0.0/18
98.111.96.0/19
98.111.128.0/17
98.113.0.0/16
98.114.0.0/15
98.116.0.0/16
98.117.0.0/18
98.117.64.0/19
98.117.160.0/19
98.117.192.0/18
98.118.0.0/17
98.118.128.0/18
98.118.192.0/19
98.118.240.0/20
100.0.0.0/15
100.2.0.0/16
100.4.0.0/16
100.6.0.0/15
100.8.0.0/16
100.10.0.0/15
100.12.0.0/16
100.14.0.0/15
100.16.0.0/14
100.33.0.0/16
100.34.0.0/15
100.36.0.0/15
100.38.0.0/16
100.40.0.0/15
102.165.26.0/24
103.3.56.0/23
103.5.215.0/24
103.6.180.0/24
103.11.223.0/24
103.12.23.0/24
103.13.37.0/24
103.15.143.0/24
103.16.77.0/24
103.16.197.0/24
103.18.190.0/23
103.41.68.0/22
103.47.204.0/22
103.74.6.0/23
103.74.12.0/23
103.95.84.0/22
103.104.76.0/22
103.139.130.0/23
103.224.140.0/23
103.225.242.0/24
103.228.80.0/23
103.231.198.0/23
103.238.148.0/22
103.249.58.0/23
103.252.85.0/24
104.64.0.0/10
104.238.0.0/22
104.249.32.0/22
104.254.123.0/24
108.1.64.0/18
108.1.128.0/19
108.1.224.0/19
108.2.0.0/16
108.3.64.0/18
108.3.128.0/17
108.4.0.0/14
108.8.0.0/17
108.8.192.0/18
108.10.128.0/19
108.11.0.0/18
108.11.128.0/17
108.12.0.0/18
108.12.128.0/17
108.14.0.0/16
108.15.0.0/17
108.15.160.0/19
108.15.192.0/18
108.16.0.0/16
108.17.0.0/17
108.17.128.0/19
108.18.0.0/16
108.20.0.0/15
108.22.0.0/21
108.22.10.0/23
108.22.32.0/19
108.22.64.0/19
108.22.192.0/18
108.24.0.0/13
108.32.0.0/17
108.34.16.0/20
108.34.32.0/19
108.34.64.0/18
108.34.128.0/17
108.35.0.0/16
108.36.0.0/16
108.39.0.0/16
108.40.0.0/17
108.41.0.0/16
108.44.0.0/15
108.46.0.0/16
108.48.0.0/13
108.56.0.0/16
108.57.0.0/17
108.57.192.0/18
108.174.225.0/24
108.174.226.0/24
109.69.104.0/24
109.69.111.0/24
109.70.145.0/24
109.70.146.0/24
110.164.15.0/24
114.141.72.0/21
115.69.232.0/22
115.248.238.0/24
118.214.0.0/15
121.78.191.0/24
122.155.239.0/24
122.252.32.0/19
122.252.128.0/20
124.40.52.208/28
125.56.128.0/17
125.252.192.0/18
126.147.252.0/22
128.139.199.0/24
128.177.43.0/24
128.177.166.0/23
128.177.188.0/23
128.241.89.0/24
128.241.91.0/24
128.241.217.0/24
128.241.218.0/24
129.44.0.0/17
129.44.128.0/18
129.44.192.0/19
129.44.240.0/20
130.81.0.0/16
131.203.4.0/22
137.39.0.0/16
138.88.0.0/15
139.56.0.0/22
139.56.4.0/23
139.64.140.0/23
139.123.225.0/24
139.123.228.0/24
139.177.144.0/20
140.222.216.0/24
140.223.0.0/16
141.98.240.0/23
141.149.32.0/19
141.149.64.0/18
141.149.128.0/17
141.150.0.0/15
141.152.0.0/14
141.156.0.0/15
141.158.0.0/16
142.77.0.0/16
142.131.246.0/23
142.131.254.0/23
142.230.0.0/23
144.250.24.0/24
146.1.0.0/16
146.82.98.0/24
146.88.61.0/24
146.170.26.0/23
147.225.0.0/16
149.19.176.0/22
151.196.0.0/14
151.200.0.0/15
151.202.0.0/17
151.202.160.0/19
151.202.192.0/18
151.203.0.0/16
151.204.0.0/15
152.63.0.0/16
152.145.12.0/24
152.164.0.0/16
152.176.0.0/12
152.208.0.0/13
153.38.0.0/15
153.112.205.0/24
154.16.173.0/24
155.146.0.0/18
155.146.64.0/20
156.40.95.0/24
156.146.1.0/24
156.146.6.0/24
156.146.9.0/24
157.130.0.0/16
157.238.74.0/23
157.238.81.0/24
157.238.91.0/25
159.54.21.0/24
159.153.150.0/24
159.182.54.0/23
161.123.208.0/21
161.223.90.0/23
161.223.92.0/24
162.83.0.0/16
162.84.0.0/16
162.208.122.0/23
165.117.243.0/24
165.254.2.0/24
165.254.8.0/24
165.254.27.64/26
165.254.29.0/24
165.254.40.0/23
165.254.44.0/23
165.254.47.0/24
165.254.50.0/23
165.254.52.0/24
165.254.92.0/22
165.254.99.0/24
165.254.107.0/24
165.254.127.0/24
165.254.132.0/23
165.254.138.0/23
165.254.140.0/24
165.254.150.0/24
165.254.202.64/26
165.254.202.128/26
165.254.245.0/25
165.254.246.0/25
166.90.150.0/24
167.188.251.0/24
167.242.234.0/24
168.143.214.0/24
168.143.240.0/22
168.233.2.0/24
168.233.10.0/24
170.226.36.0/23
170.226.57.0/24
172.224.0.0/12
172.247.176.0/20
173.48.0.0/15
173.50.16.0/20
173.50.32.0/19
173.50.64.0/18
173.50.160.0/20
173.50.208.0/20
173.52.0.0/16
173.53.0.0/17
173.53.255.0/24
173.54.0.0/16
173.56.0.0/16
173.59.0.0/17
173.59.192.0/18
173.61.0.0/16
173.62.0.0/15
173.64.0.0/17
173.66.0.0/16
173.67.0.0/18
173.67.128.0/18
173.67.192.0/20
173.67.224.0/19
173.68.0.0/16
173.69.0.0/18
173.69.96.0/20
173.69.128.0/17
173.70.0.0/16
173.71.64.0/18
173.71.128.0/18
173.71.192.0/19
173.72.0.0/16
173.75.0.0/18
173.75.128.0/17
173.76.0.0/15
173.79.0.0/16
173.205.6.0/23
173.205.68.0/23
173.205.76.0/22
173.222.0.0/15
176.52.140.0/22
176.115.224.0/21
178.72.0.0/22
181.214.13.0/24
182.50.0.0/19
182.50.32.0/20
182.51.200.0/22
184.24.0.0/13
184.50.0.0/15
184.84.0.0/14
184.214.32.0/20
185.2.76.0/22
185.34.80.0/22
185.60.4.0/22
185.61.88.0/22
185.74.216.0/22
185.86.20.0/22
185.91.40.0/22
185.101.252.0/22
185.112.249.0/24
185.121.137.0/24
185.123.168.0/22
185.146.204.0/22
185.147.100.0/22
185.158.242.0/24
185.167.60.0/22
185.192.28.0/22
185.193.167.0/24
185.216.144.0/24
185.216.146.0/24
185.223.8.0/22
185.223.235.0/24
185.225.250.0/23
185.226.204.0/22
185.228.227.0/24
185.231.40.0/24
185.237.35.0/24
185.244.221.0/24
185.244.222.0/23
186.64.0.0/19
186.64.32.0/20
186.64.48.0/21
186.64.56.0/22
186.64.60.0/23
186.64.62.0/24
186.211.197.0/24
188.208.103.0/24
189.247.204.0/22
189.247.216.0/24
190.2.175.0/24
190.15.64.0/22
190.90.221.0/24
190.90.222.0/23
190.94.188.0/24
191.101.190.0/23
192.33.27.0/24
192.48.96.0/24
192.71.172.0/24
192.94.120.0/24
192.94.165.0/24
192.112.240.0/24
192.121.102.0/24
192.139.20.0/24
192.147.83.0/24
192.149.21.0/24
192.189.0.0/24
192.203.48.0/20
192.204.3.0/24
192.204.4.0/24
192.219.29.0/24
193.24.66.0/24
193.24.68.0/24
193.28.62.0/23
193.28.104.0/23
193.31.72.0/23
193.32.211.0/24
193.45.0.0/22
193.45.6.0/24
193.45.10.0/23
193.45.14.0/23
193.45.142.0/24
193.84.135.0/24
193.104.197.0/24
193.104.198.0/24
193.104.211.0/24
193.104.222.0/24
193.108.88.0/21
193.108.152.0/22
193.143.61.0/24
193.160.88.0/22
193.163.45.0/24
193.180.119.0/24
193.181.41.0/24
193.181.46.0/24
193.183.217.0/24
193.203.104.0/24
193.235.106.0/24
193.246.8.0/22
193.246.48.0/24
193.246.105.0/24
193.247.43.0/24
194.35.36.0/23
194.76.113.0/24
194.76.208.0/24
194.101.81.0/24
194.163.92.0/24
194.221.57.0/24
194.221.58.0/23
194.221.124.0/23
194.233.4.0/24
194.233.6.0/23
195.12.224.0/19
195.22.200.0/24
195.57.81.0/24
195.57.152.0/23
195.78.55.0/24
195.78.56.0/23
195.95.192.0/22
195.179.196.0/22
195.179.204.0/22
195.191.212.0/24
195.206.167.0/24
195.206.184.0/21
195.245.124.0/22
198.3.0.0/16
198.4.0.0/15
198.6.0.0/16
198.22.201.0/24
198.45.0.0/24
198.45.3.0/24
198.45.6.0/24
198.47.108.0/25
198.47.116.0/24
198.70.194.0/24
198.71.32.0/24
198.71.40.0/22
198.80.131.0/24
198.83.0.0/16
198.87.54.0/24
198.89.190.0/24
198.105.250.0/24
198.133.32.0/19
198.144.96.0/24
198.144.99.0/24
198.144.112.0/24
198.144.119.0/24
198.153.72.0/24
198.160.13.0/24
198.176.212.0/24
198.181.112.0/24
198.231.64.0/18
198.246.135.0/24
198.246.136.0/22
198.252.182.0/24
198.252.242.0/23
199.4.159.0/24
199.27.70.0/23
199.34.64.0/24
199.34.66.0/24
199.45.32.0/19
199.45.64.0/18
199.46.32.0/19
199.85.101.0/24
199.101.28.0/22
199.119.13.0/24
199.119.220.0/22
199.164.17.0/24
199.164.185.0/24
199.170.0.0/15
199.172.0.0/15
199.184.177.0/24
199.184.178.0/24
199.202.116.0/22
199.202.120.0/21
199.202.128.0/21
199.202.234.0/23
199.202.236.0/22
199.219.128.0/23
199.219.130.0/24
199.219.192.0/24
199.221.0.0/16
199.222.0.0/16
199.239.182.0/23
199.239.184.0/24
199.248.241.0/24
199.254.162.0/24
200.136.36.0/24
201.16.50.0/24
201.159.159.0/24
201.220.10.0/24
202.4.185.0/24
202.12.75.0/24
202.43.88.0/23
202.74.45.0/24
202.90.8.0/22
202.90.15.0/24
202.94.80.0/24
202.138.164.0/22
202.138.183.0/24
202.163.0.0/19
202.171.237.0/24
202.212.234.0/24
202.226.44.0/22
203.27.6.0/23
203.69.138.0/24
203.69.141.0/24
203.146.247.0/24
203.161.190.0/23
203.198.20.0/24
203.217.134.0/23
203.223.90.0/23
204.0.54.0/23
204.2.132.64/26
204.2.132.128/25
204.2.136.0/23
204.2.146.0/25
204.2.148.128/25
204.2.163.64/26
204.2.187.0/24
204.2.191.128/25
204.2.196.0/24
204.2.199.0/24
204.2.211.0/26
204.2.211.192/26
204.2.215.0/24
204.2.243.0/24
204.2.248.0/24
204.2.251.0/24
204.2.254.0/24
204.2.255.0/25
204.8.48.0/22
204.10.28.0/22
204.51.64.0/18
204.56.98.0/24
204.76.11.0/24
204.91.17.0/24
204.92.0.0/16
204.93.32.0/24
204.93.34.0/24
204.93.38.0/23
204.93.44.0/24
204.93.46.0/23
204.93.48.0/24
204.93.62.0/23
204.126.24.0/23
204.141.239.0/24
204.148.0.0/14
204.156.7.0/24
204.176.0.0/14
204.237.134.0/25
204.237.142.0/23
204.237.182.0/25
204.237.186.0/23
204.237.188.0/24
204.237.201.0/26
204.237.229.0/25
204.245.23.0/24
204.245.143.0/25
204.246.230.0/24
204.252.0.0/14
205.143.157.0/24
205.143.158.0/24
205.150.0.0/16
205.205.0.0/16
205.223.27.0/24
205.228.0.0/14
206.46.0.0/17
206.46.254.0/24
206.55.4.128/25
206.57.28.0/24
206.64.0.0/14
206.80.160.0/19
206.83.72.0/24
206.83.80.0/24
206.111.49.0/24
206.112.0.0/14
206.124.64.0/23
206.124.86.0/24
206.124.90.0/23
206.132.122.0/24
206.136.0.0/14
206.161.222.0/23
206.205.117.0/24
206.239.100.0/23
207.11.242.0/24
207.16.0.0/14
207.22.128.0/18
207.24.0.0/14
207.53.0.0/17
207.68.0.0/18
207.68.96.0/19
207.76.0.0/14
207.86.125.0/24
207.86.183.0/24
207.101.11.0/24
207.139.0.0/16
207.176.0.0/16
207.205.0.0/16
207.239.117.0/24
207.247.0.0/16
207.251.128.0/18
208.48.0.0/24
208.67.240.0/21
208.91.236.0/22
208.92.8.0/22
208.98.200.0/21
208.123.64.0/19
208.185.115.0/24
208.192.0.0/10
209.47.0.0/16
209.95.128.0/19
209.114.64.0/19
209.116.18.0/24
209.116.152.0/24
209.118.14.0/24
209.118.39.0/24
209.118.78.0/24
209.118.130.0/23
209.118.185.0/24
209.118.251.0/24
209.119.1.0/24
209.119.20.0/24
209.138.0.0/16
209.158.0.0/16
209.159.0.0/19
209.167.0.0/16
209.170.64.0/18
209.200.129.0/24
209.200.130.0/23
209.200.132.0/22
209.200.136.0/21
209.200.144.0/20
209.200.160.0/19
209.205.0.0/18
209.211.216.0/24
209.212.160.0/19
209.220.96.0/23
209.220.104.0/24
209.242.242.0/24
210.16.40.0/24
210.61.248.0/23
211.175.153.0/24
212.87.192.0/22
213.152.224.0/19
213.155.128.0/19
213.161.64.0/19
213.166.84.0/24
213.248.64.0/18
216.0.106.0/24
216.1.111.0/24
216.1.112.0/22
216.2.209.0/24
216.3.153.0/24
216.4.8.0/22
216.4.197.0/24
216.94.0.0/15
216.112.126.0/24
216.112.243.0/24
216.156.128.0/24
216.156.152.0/24
216.156.156.0/23
216.156.213.0/24
216.156.242.0/24
216.187.88.0/23
216.200.69.0/24
216.200.188.0/22
216.206.12.128/26
216.206.30.0/24
216.233.0.0/16
217.74.19.0/24
217.146.85.0/24
217.146.93.0/24
217.212.224.0/19
219.76.11.0/24
220.227.183.0/24
221.110.130.0/24
221.110.152.0/24
221.110.165.0/24
221.110.182.0/25
221.110.183.0/24
221.110.213.128/25
221.110.252.0/24
221.111.192.0/25
221.111.224.0/26
222.165.164.0/24' > Akamai/202202_02_akam-CIDRCollapsed.txt


 ##   Akamai's IPv6

 echo '2001:218:3003:100::/56
2001:218:3003:200::/55
2001:218:3004::/48
2001:418:1401:4::/64
2001:418:1401:7::/64
2001:418:1401:9::/64
2001:418:1401:d::/64
2001:418:1401:e::/63
2001:418:1401:21::/64
2001:418:1401:2b::/64
2001:418:1401:85::/64
2001:418:1410::/48
2001:418:1413::/48
2001:418:1416::/47
2001:418:1418::/48
2001:418:1419::/54
2001:418:1419:400::/56
2001:418:141b:100::/56
2001:418:141b:200::/56
2001:418:141f:100::/56
2001:418:141f:200::/56
2001:418:1420::/46
2001:418:1425::/48
2001:418:1427::/48
2001:418:1428::/47
2001:418:142a::/48
2001:418:142c::/47
2001:418:142e:100::/56
2001:418:142e:200::/55
2001:418:1430::/47
2001:418:1432::/48
2001:418:1434::/48
2001:418:1436::/48
2001:418:1438::/48
2001:418:143a::/47
2001:418:143c::/48
2001:418:143e::/48
2001:418:1442::/48
2001:418:1446:100::/56
2001:418:1446:200::/55
2001:418:144b::/48
2001:418:1456:200::/56
2001:418:1456:400::/56
2001:418:1456:600::/55
2001:418:1456:a00::/56
2001:418:1456:c00::/56
2001:418:1456:f00::/56
2001:418:1456:1200::/56
2001:418:1456:1400::/55
2001:418:1456:1700::/56
2001:418:1c01:1::/64
2001:418:2007::/48
2001:418:2401:1::/64
2001:418:3801:3::/64
2001:418:3801:100::/56
2001:418:5401::/48
2001:418:5c03::/48
2001:418:8001::/48
2001:418:8404:1::/64
2001:418:8404:11::/64
2001:418:8409::/48
2001:418:9803::/64
2001:428:1802:9::/64
2001:428:2001:205::/64
2001:428:2002::/47
2001:428:2004::/48
2001:428:2402:300::/56
2001:428:2402:41c::/64
2001:428:4402:400::/56
2001:428:4405:200::/56
2001:428:4c02:1fd::/64
2001:428:4c02:200::/56
2001:428:7006::/48
2001:450:2051::/48
2001:450:205a::/48
2001:590:1:601::/64
2001:590:1:607::/64
2001:590:1:609::/64
2001:590:1001::/48
2001:590:1003::/48
2001:590:1801::/48
2001:590:2001::/48
2001:590:2005:200::/56
2001:590:2403::/48
2001:5a0:3903::/48
2001:5a0:3a03::/48
2001:5a0:3b00::/47
2001:5a0:3b05::/48
2001:5a0:3e01::/48
2001:5a0:4402::/48
2001:668:108:400::/56
2001:668:108:6000::/64
2001:728:1401::/64
2001:728:1801:1::/64
2001:728:2001:100::/56
2001:728:2003::/48
2001:728:2805:100::/56
2001:728:2805:200::/55
2001:728:2c02::/48
2001:728:3401::/64
2001:918:ffac::/47
2001:920:380c::/48
2001:920:7015::/48
2001:c38:500a::/48
2001:df0:7c80::/48
2001:13d1:c03::/48
2001:1b70:4294::/48
2001:1b70:8603::/48
2001:2000::/20
2001:4450:40::/48
2001:4457:ff0::/48
2001:4528:4::/48
2001:4546:1003::/48
2001:4868::/32
2001:4878::/32
2400:2000:6::/47
2400:2000:b::/48
2400:2000:c::/48
2400:2000:f::/48
2400:2000:10::/48
2400:6280:6::/48
2404:4e00:1::/48
2404:4e00:3::/48
2404:4e00:4::/46
2404:4e00:101::/48
2404:4e00:102::/48
2404:4e00:104::/47
2404:4e00:201::/48
2404:4e00:1003::/48
2404:4e00:1083::/48
2404:4e00:2000::/48
2404:4e00:8000::/48
2404:4e00:c000::/48
2404:c800:8203::/48
2405:9600::/32
2405:9800:b::/48
2405:9800:c::/48
2406:3000:35::/48
2407:1600::/32
2600:800::/27
2600:1400::/24
2600:4000::/24
2602:803:e0b0::/44
2604:d600:162d:100::/56
2606:57c0::/48
2606:6c00:2::/48
2606:6c00:4::/46
2606:6c00:8::/47
2606:6c00:100::/48
2606:6c00:102::/48
2606:6c00:104::/46
2606:6c00:108::/47
2606:6c00:120::/44
2606:6c00:201::/48
2606:6c00:2000::/48
2606:6c00:4000::/48
2606:6c00:8000::/48
2606:6c00:a000::/48
2606:6c00:c000::/48
2606:6c00:ffff::/48
2606:8f80:1::/48
2610:160::/32
2620:0:b60::/48
2620:102:a000::/43
2620:104:a000::/44
2800:150:6::/48
2806:1040:fc::/48
2a00:16f8::/29
2a00:1f60::/32
2a01:7d0:4800:1::/64
2a02:2370:1::/48
2a02:2370:2::/47
2a02:2370:4::/47
2a02:2370:6::/48
2a02:2370:101::/48
2a02:2370:102::/47
2a02:2370:104::/47
2a02:2370:106::/48
2a02:2370:200::/47
2a02:2370:4000::/48
2a02:2370:8000::/48
2a02:2370:c000::/48
2a02:2370:f000::/48
2a02:26f0::/29
2a05:c740::/31
2a0b:35c0::/30
2a0b:35c4::/48
2a0e:1c80:a::/48
2a0e:1c80:e::/48
2a0e:1c80:11::/48
2a0e:1c80:12::/48
2a0e:1c80:14::/47
2a0f:9340::/48
2a0f:9340:10::/47
2a0f:9340:1a::/48
2a0f:9340:23::/48
2a0f:9340:32::/47
2a0f:9340:34::/48
2a0f:9340:3d::/48
2a12:c080::/29
2c0f:fd58:9::/64' > Akamai/202202_02_akam-IPv6-CIDRCollapsed.txt




 ##   AMAZON
 ##   ------

 ##   The following (known) ASNs can be used for this DIGITAL FEUDALIST:
 ##
 ##     NOTE: for (partial danger) AS54113 use the following to remove
 ##       non-amazon ranges.
# grep -iB 2 'AWS\|amazon' *AS54113* > $(date "+%4Y%m")_00_amaz-AS54113-ofFastly.whois
 ##
 ##     AS7224
 ##     AS8987
 ##     AS14618 (aws, many different site services incl. atlassian)
 ##     AS16509
 ##     AS38895 (also incl Amazon Asia-Pacific Resources Pty Ltd, Amazon Data Services Japan KK)
 ##     AS39111
 ##     AS46489 (twitch)
 ##     (partial danger) AS54113 (!!!see above to strip non-amazon from aws-fastly!!!)

 echo '2.59.128.0/22
2.255.190.0/23
3.0.0.0/15
3.2.0.0/24
3.2.2.0/23
3.2.8.0/21
3.3.5.0/24
3.3.6.0/23
3.3.8.0/21
3.3.16.0/20
3.4.0.0/22
3.4.4.0/24
3.4.6.0/23
3.4.16.0/20
3.5.0.0/16
3.6.0.0/15
3.8.0.0/13
3.16.0.0/12
3.32.0.0/16
3.33.34.0/23
3.33.48.0/20
3.33.128.0/17
3.34.0.0/15
3.36.0.0/14
3.64.0.0/11
3.96.0.0/14
3.101.0.0/16
3.104.0.0/13
3.112.0.0/14
3.120.0.0/13
3.128.0.0/12
3.144.0.0/13
3.208.0.0/12
3.224.0.0/12
3.248.0.0/13
5.22.145.0/24
5.181.200.0/24
5.183.207.0/24
5.252.144.0/23
8.18.144.0/23
13.32.0.0/13
13.40.0.0/14
13.48.0.0/13
13.56.0.0/14
13.112.0.0/14
13.124.0.0/14
13.208.0.0/13
13.224.0.0/12
13.244.0.0/14
13.248.0.0/14
15.145.0.0/22
15.145.4.0/23
15.145.8.0/21
15.145.16.0/21
15.145.24.0/23
15.152.0.0/16
15.156.0.0/15
15.158.0.0/16
15.160.0.0/15
15.164.0.0/15
15.168.0.0/16
15.177.0.0/18
15.177.64.0/20
15.177.80.0/21
15.177.88.0/22
15.181.0.0/17
15.181.128.0/18
15.181.192.0/19
15.181.224.0/20
15.181.240.0/21
15.181.248.0/22
15.181.252.0/23
15.181.254.0/24
15.184.0.0/15
15.188.0.0/16
15.190.0.0/22
15.190.16.0/20
15.191.0.0/16
15.193.0.0/21
15.193.8.0/23
15.193.10.0/24
15.197.8.0/21
15.197.16.0/22
15.197.20.0/23
15.197.24.0/22
15.197.28.0/23
15.197.32.0/21
15.197.48.0/20
15.197.128.0/17
15.200.0.0/16
15.205.0.0/16
15.206.0.0/15
15.220.0.0/19
15.220.196.0/22
15.220.200.0/21
15.220.216.0/21
15.220.224.0/20
15.220.248.0/21
15.221.6.0/23
15.221.8.0/21
15.221.16.0/20
15.221.32.0/24
15.221.36.0/22
15.221.40.0/21
15.221.48.0/22
15.221.52.0/23
15.221.128.0/22
15.222.0.0/15
15.228.0.0/15
15.230.44.0/22
15.236.0.0/15
15.248.0.0/22
15.248.4.0/23
15.248.8.0/22
15.248.16.0/20
15.248.32.0/21
15.248.40.0/22
15.248.48.0/21
15.251.0.0/16
15.253.0.0/16
15.254.0.0/16
16.12.0.0/16
16.15.0.0/16
16.16.0.0/16
16.50.0.0/15
16.62.0.0/15
16.162.0.0/15
16.168.0.0/14
18.34.0.0/16
18.60.0.0/15
18.64.0.0/14
18.100.0.0/15
18.102.0.0/16
18.116.0.0/14
18.130.0.0/16
18.132.0.0/14
18.136.0.0/16
18.138.0.0/15
18.140.0.0/14
18.144.0.0/15
18.153.0.0/16
18.154.0.0/15
18.156.0.0/14
18.160.0.0/13
18.168.0.0/14
18.172.0.0/15
18.175.0.0/16
18.176.0.0/13
18.184.0.0/15
18.188.0.0/14
18.192.0.0/11
18.224.0.0/12
18.244.0.0/15
18.246.0.0/16
18.252.0.0/15
18.254.0.0/16
23.20.0.0/14
23.26.234.0/24
23.29.61.0/24
23.92.173.0/24
23.92.174.0/24
23.130.160.0/24
23.131.144.0/24
23.133.224.0/24
23.141.96.0/24
23.147.48.0/24
23.158.224.0/24
23.160.0.0/24
23.162.176.0/23
23.163.224.0/23
23.166.224.0/24
23.169.80.0/24
23.179.144.0/23
23.180.16.0/24
23.183.112.0/23
23.190.16.0/24
23.191.48.0/24
23.239.240.0/23
23.239.242.0/24
23.247.160.0/23
23.247.163.0/24
23.247.200.0/22
23.249.168.0/24
23.249.208.0/20
23.251.224.0/19
27.0.0.0/22
31.25.8.0/23
31.171.211.0/24
31.171.212.0/24
34.192.0.0/10
35.71.128.0/17
35.72.0.0/13
35.80.0.0/12
35.152.0.0/13
35.160.0.0/12
35.176.0.0/13
36.255.196.0/24
36.255.198.0/23
37.72.132.0/24
37.221.72.0/22
43.198.0.0/15
43.200.0.0/13
43.247.34.0/24
43.249.44.0/22
43.250.192.0/23
43.250.196.0/22
44.192.0.0/10
45.8.84.0/22
45.9.21.0/24
45.10.57.0/24
45.11.252.0/23
45.13.100.0/22
45.42.136.0/22
45.42.175.0/24
45.42.252.0/22
45.45.197.0/24
45.45.214.0/24
45.56.228.0/22
45.56.236.0/23
45.62.90.0/23
45.84.240.0/24
45.85.250.0/24
45.86.112.0/24
45.88.28.0/22
45.91.255.0/24
45.92.116.0/22
45.93.188.0/24
45.95.114.0/24
45.112.120.0/22
45.112.175.0/24
45.113.128.0/22
45.114.220.0/22
45.128.26.0/24
45.129.53.0/24
45.129.54.0/23
45.129.192.0/24
45.133.144.0/22
45.134.185.0/24
45.136.240.0/23
45.136.242.0/24
45.137.157.0/24
45.140.152.0/22
45.141.232.0/24
45.143.132.0/24
45.149.108.0/22
45.152.134.0/23
45.153.167.0/24
45.154.18.0/23
45.155.69.0/24
45.155.99.0/24
45.156.96.0/22
45.159.120.0/22
45.159.224.0/22
45.223.12.0/23
45.250.63.0/24
45.250.72.0/22
46.18.245.0/24
46.19.168.0/23
46.51.128.0/17
46.137.0.0/16
46.174.136.0/22
46.227.40.0/22
46.227.44.0/23
46.227.47.0/24
46.228.136.0/23
47.128.0.0/14
50.16.0.0/14
50.112.0.0/16
50.115.212.0/23
50.115.218.0/23
50.115.222.0/23
51.16.0.0/15
51.149.8.0/24
51.149.14.0/24
51.149.250.0/23
51.149.252.0/24
52.0.0.0/11
52.32.0.0/13
52.40.0.0/14
52.44.0.0/15
52.46.0.0/17
52.46.128.0/19
52.46.172.0/22
52.46.180.0/22
52.46.184.0/21
52.46.192.0/19
52.46.224.0/20
52.46.240.0/22
52.47.0.0/16
52.48.0.0/12
52.64.0.0/12
52.82.160.0/22
52.82.186.0/24
52.84.0.0/14
52.88.0.0/14
52.92.0.0/19
52.92.32.0/22
52.92.40.0/21
52.92.48.0/20
52.92.64.0/20
52.92.84.0/22
52.92.88.0/22
52.92.248.0/21
52.93.0.0/16
52.94.0.0/20
52.94.16.0/22
52.94.20.0/24
52.94.22.0/23
52.94.24.0/23
52.94.28.0/23
52.94.30.0/24
52.94.32.0/19
52.94.64.0/22
52.94.68.0/23
52.94.72.0/21
52.94.80.0/20
52.94.96.0/20
52.94.112.0/22
52.94.120.0/21
52.94.128.0/20
52.94.144.0/23
52.94.146.0/24
52.94.148.0/22
52.94.160.0/19
52.94.204.0/22
52.94.208.0/20
52.94.224.0/20
52.94.240.0/22
52.94.249.96/28
52.94.252.0/22
52.95.0.0/21
52.95.8.0/32
52.95.10.0/23
52.95.12.0/22
52.95.16.0/21
52.95.24.0/22
52.95.30.0/23
52.95.34.0/23
52.95.36.0/22
52.95.41.0/24
52.95.42.0/24
52.95.48.0/21
52.95.56.0/22
52.95.64.0/18
52.95.128.0/18
52.95.192.0/20
52.95.212.0/22
52.95.224.0/22
52.95.228.0/23
52.95.230.0/24
52.95.235.0/24
52.95.236.0/23
52.95.240.0/21
52.95.248.0/22
52.95.252.0/23
52.95.254.0/24
52.119.34.0/24
52.119.41.0/24
52.119.128.0/17
52.124.128.0/17
52.128.40.0/22
52.129.34.0/24
52.129.64.0/23
52.129.66.0/24
52.129.96.0/21
52.129.104.0/23
52.129.106.0/24
52.129.108.0/23
52.129.128.0/17
52.144.58.0/24
52.144.61.0/24
52.144.128.0/17
52.192.0.0/11
54.64.0.0/11
54.144.0.0/12
54.160.0.0/12
54.176.0.0/14
54.180.0.0/15
54.182.0.0/21
54.182.8.0/22
54.182.16.0/22
54.182.128.0/18
54.182.192.0/20
54.182.209.0/24
54.182.210.0/23
54.182.212.0/22
54.182.216.0/21
54.182.224.0/19
54.183.0.0/16
54.184.0.0/13
54.192.0.0/12
54.208.0.0/13
54.216.0.0/14
54.220.0.0/15
54.222.46.0/23
54.224.0.0/11
58.181.95.0/24
62.133.34.0/24
63.32.0.0/14
63.140.32.0/21
63.140.48.0/22
63.140.54.0/23
63.140.56.0/23
63.140.61.0/24
63.140.62.0/23
63.246.112.0/22
63.246.119.0/24
64.35.160.0/24
64.35.167.0/24
64.35.168.0/23
64.35.170.0/24
64.35.172.0/24
64.35.174.0/24
64.45.128.0/22
64.45.132.0/24
64.52.111.0/24
64.57.9.0/24
64.57.14.0/23
64.66.45.0/24
64.69.212.0/24
64.69.223.0/24
64.71.238.0/24
64.96.64.0/24
64.110.138.0/24
64.112.12.0/24
64.112.65.0/24
64.186.3.0/24
64.187.128.0/20
64.190.42.0/24
64.190.80.0/24
64.190.110.0/23
64.190.237.0/24
64.207.194.0/24
64.207.196.0/22
64.207.204.0/23
64.207.222.0/23
64.234.115.0/24
64.238.2.0/23
64.238.4.0/22
64.238.8.0/24
64.238.14.0/23
64.252.64.0/18
64.252.128.0/20
64.252.144.0/23
64.252.147.0/24
64.252.148.0/23
64.252.151.0/24
64.252.152.0/24
64.252.154.0/23
64.252.156.0/24
64.252.159.0/24
64.252.161.0/24
64.252.162.0/23
64.252.164.0/24
64.252.166.0/23
64.252.168.0/21
64.252.176.0/20
65.0.0.0/14
65.8.0.0/16
65.9.0.0/17
65.9.128.0/18
65.20.48.0/24
65.37.240.0/24
65.110.52.0/22
66.22.108.0/23
66.22.188.0/22
66.59.61.0/24
66.59.62.0/24
66.81.8.0/24
66.81.81.0/24
66.81.227.0/24
66.81.241.0/24
66.81.254.0/24
66.117.20.0/24
66.117.22.0/23
66.117.30.0/23
66.129.247.0/24
66.129.248.0/24
66.159.226.0/24
66.178.130.0/24
66.178.132.0/23
66.178.134.0/24
66.178.136.0/22
66.182.132.0/23
66.187.204.0/23
66.187.206.0/24
66.206.173.0/24
66.232.20.0/23
66.235.151.0/24
66.235.152.0/22
67.20.60.0/24
67.159.192.0/24
67.199.239.0/24
67.202.0.0/18
67.215.67.0/24
67.217.87.0/24
67.219.180.0/24
67.219.240.0/23
67.219.244.0/22
67.219.248.0/24
67.219.250.0/23
67.220.224.0/19
67.221.38.0/24
67.222.248.0/23
67.222.250.0/24
67.222.253.0/24
67.222.254.0/24
67.226.220.0/22
68.64.4.0/23
68.66.112.0/20
68.70.127.0/24
69.2.101.0/24
69.7.138.0/23
69.7.140.0/23
69.10.24.0/24
69.12.28.0/22
69.56.0.0/18
69.58.24.0/24
69.59.247.0/24
69.59.248.0/22
69.64.21.0/24
69.64.150.0/23
69.64.152.0/23
69.72.40.0/21
69.94.8.0/23
69.166.42.0/24
69.169.224.0/20
69.210.72.0/22
69.210.80.0/20
70.131.192.0/18
70.132.0.0/19
70.132.32.0/21
70.132.40.0/24
70.132.42.0/23
70.132.44.0/23
70.132.46.0/24
70.132.48.0/22
70.132.52.0/23
70.132.55.0/24
70.132.57.0/24
70.132.58.0/23
70.132.60.0/22
70.224.192.0/18
70.232.64.0/18
71.152.0.0/21
71.152.8.0/22
71.152.13.0/24
71.152.14.0/23
71.152.16.0/21
71.152.24.0/22
71.152.28.0/24
71.152.30.0/23
71.152.32.0/23
71.152.35.0/24
71.152.36.0/22
71.152.40.0/23
71.152.43.0/24
71.152.45.0/24
71.152.46.0/23
71.152.48.0/21
71.152.56.0/22
71.152.61.0/24
71.152.62.0/23
71.152.64.0/21
71.152.72.0/22
71.152.76.0/23
71.152.79.0/24
71.152.80.0/20
71.152.96.0/20
71.152.112.0/21
71.152.121.0/24
71.152.122.0/23
71.152.124.0/24
71.152.126.0/23
72.1.32.0/21
72.13.78.0/23
72.13.120.0/23
72.13.123.0/24
72.13.124.0/24
72.18.76.0/23
72.18.78.0/24
72.18.222.0/24
72.21.192.0/19
72.41.0.0/20
72.44.32.0/19
72.46.77.0/24
72.52.0.0/24
72.52.62.0/24
72.167.168.0/24
74.112.132.0/23
74.112.134.0/24
74.115.3.0/24
74.116.144.0/23
74.116.147.0/24
74.116.239.0/24
74.117.16.0/22
74.117.148.0/23
74.118.104.0/22
74.122.241.0/24
74.123.145.0/24
74.200.119.0/24
74.200.120.0/24
74.214.200.0/21
74.221.129.0/24
74.221.130.0/23
74.221.133.0/24
74.221.135.0/24
74.221.137.0/24
74.221.139.0/24
74.221.141.0/24
75.2.0.0/17
75.101.128.0/17
75.104.19.0/24
76.76.17.0/24
76.76.19.0/24
76.76.21.0/24
76.223.0.0/17
76.223.160.0/21
76.223.176.0/20
77.73.208.0/23
78.108.124.0/23
79.125.0.0/17
79.143.156.0/24
80.210.95.0/24
81.20.41.0/24
81.90.143.0/24
82.118.31.0/24
82.192.96.0/23
82.192.100.0/23
82.192.108.0/23
83.97.100.0/22
83.118.228.0/22
85.92.100.0/22
85.113.84.0/24
85.113.88.0/24
85.115.38.0/24
85.158.142.0/23
85.194.254.0/23
85.212.113.0/24
85.236.136.0/21
85.238.10.0/24
86.107.108.0/23
87.236.67.0/24
87.237.84.0/24
87.237.86.0/24
87.238.80.0/21
87.238.140.0/24
87.248.134.0/24
88.151.14.0/24
88.212.159.0/24
89.37.140.0/24
89.251.12.0/23
91.102.186.0/24
91.194.25.0/24
91.194.104.0/24
91.207.12.0/23
91.208.21.0/24
91.209.81.0/24
91.213.81.0/24
91.213.115.0/24
91.213.126.0/24
91.213.146.0/24
91.218.37.0/24
91.223.161.0/24
91.228.72.0/24
91.228.74.0/24
91.230.237.0/24
91.231.35.0/24
91.233.120.0/24
91.236.18.0/24
91.236.66.0/23
91.237.174.0/23
91.240.18.0/23
91.241.6.0/23
92.50.0.0/22
93.93.224.0/22
93.93.228.0/24
93.190.244.0/24
93.191.148.0/23
93.191.219.0/24
94.124.112.0/24
94.140.18.0/24
95.101.235.0/24
96.9.221.0/24
96.46.128.0/20
96.127.0.0/17
98.97.248.0/22
98.97.254.0/23
98.142.144.0/23
98.142.146.0/24
98.142.155.0/24
98.142.156.0/22
98.142.176.0/24
98.158.236.0/24
99.77.0.0/18
99.77.128.0/19
99.77.160.0/23
99.77.183.0/24
99.77.184.0/24
99.77.186.0/23
99.77.188.0/22
99.77.247.0/24
99.77.250.0/24
99.77.253.0/24
99.77.254.0/24
99.78.128.0/19
99.78.160.0/21
99.78.168.0/22
99.78.172.0/24
99.78.176.0/20
99.78.192.0/22
99.78.200.0/21
99.78.208.0/22
99.78.216.0/22
99.78.224.0/19
99.79.0.0/16
99.80.0.0/15
99.82.128.0/19
99.82.160.0/20
99.82.184.0/21
99.83.72.0/21
99.83.80.0/21
99.83.96.0/20
99.83.120.0/22
99.83.128.0/17
99.84.0.0/16
99.86.0.0/16
99.87.0.0/19
99.87.32.0/22
99.150.0.0/17
99.151.64.0/18
99.151.128.0/19
99.181.64.0/18
100.20.0.0/14
100.24.0.0/13
103.4.8.0/21
103.8.172.0/22
103.16.56.0/24
103.16.58.0/23
103.16.101.0/24
103.18.158.0/23
103.19.244.0/22
103.24.134.0/24
103.39.86.0/23
103.39.112.0/24
103.43.38.0/23
103.53.48.0/22
103.70.20.0/22
103.70.49.0/24
103.80.6.0/24
103.85.213.0/24
103.85.214.0/23
103.107.56.0/24
103.115.102.0/24
103.119.213.0/24
103.124.134.0/23
103.126.232.0/24
103.126.234.0/24
103.127.75.0/24
103.136.10.0/24
103.138.231.0/24
103.143.45.0/24
103.145.182.0/24
103.145.192.0/24
103.147.71.0/24
103.147.152.0/24
103.149.112.0/24
103.150.46.0/23
103.150.161.0/24
103.151.24.0/24
103.151.39.0/24
103.151.192.0/23
103.152.248.0/24
103.153.47.0/24
103.155.132.0/23
103.161.77.0/24
103.165.160.0/24
103.166.180.0/24
103.167.152.0/23
103.168.156.0/23
103.168.209.0/24
103.168.213.0/24
103.175.120.0/23
103.179.36.0/23
103.180.30.0/24
103.181.194.0/24
103.181.240.0/24
103.182.250.0/23
103.186.205.0/24
103.193.8.0/23
103.195.60.0/22
103.196.32.0/24
103.211.172.0/24
103.225.180.0/23
103.226.68.0/22
103.229.8.0/23
103.229.10.0/24
103.235.88.0/24
103.238.120.0/24
103.238.156.0/23
103.241.133.0/24
103.241.134.0/23
103.246.148.0/22
103.246.251.0/24
104.36.33.0/24
104.171.198.0/23
104.192.136.0/23
104.192.138.0/24
104.192.140.0/22
104.193.186.0/23
104.193.204.0/23
104.193.207.0/24
104.207.162.0/23
104.207.170.0/23
104.207.172.0/23
104.207.174.0/24
104.218.201.0/24
104.218.202.0/24
104.224.76.0/24
104.232.45.0/24
104.238.244.0/22
104.249.160.0/23
104.249.162.0/24
104.255.56.0/22
104.255.60.0/24
107.20.0.0/14
107.150.176.0/24
107.161.32.0/24
107.162.252.0/24
108.128.0.0/13
108.136.0.0/14
108.156.0.0/14
108.166.224.0/19
108.175.52.0/22
109.68.67.0/24
109.68.70.0/23
109.68.248.0/24
109.95.191.0/24
109.224.233.0/24
109.232.88.0/21
116.90.32.0/21
116.214.100.0/23
117.121.247.0/24
119.161.49.0/24
122.248.192.0/18
122.252.145.0/24
122.252.146.0/23
122.252.148.0/22
129.33.138.0/23
129.33.243.0/24
129.41.76.0/23
129.41.88.0/23
129.41.167.0/24
129.41.174.0/23
129.41.222.0/24
129.203.31.0/24
130.50.35.0/24
130.50.125.0/24
130.137.12.0/24
130.137.14.0/23
130.137.17.0/24
130.137.18.0/23
130.137.20.0/24
130.137.24.0/23
130.137.46.0/24
130.137.49.0/24
130.137.78.0/23
130.137.80.0/23
130.137.82.0/24
130.137.85.0/24
130.137.86.0/24
130.137.89.0/24
130.137.90.0/24
130.137.112.0/24
130.137.118.0/24
130.137.121.0/24
130.137.139.0/24
130.137.140.0/24
130.137.166.0/23
130.137.170.0/23
130.137.172.0/24
130.137.178.0/24
130.137.186.0/23
130.137.188.0/22
130.137.192.0/21
130.137.200.0/22
130.137.204.0/23
130.137.206.0/24
130.137.214.0/23
130.137.223.0/24
130.137.226.0/24
130.137.239.0/24
130.137.241.0/24
130.137.242.0/24
130.137.245.0/24
130.137.253.0/24
130.176.0.0/21
130.176.8.0/22
130.176.13.0/24
130.176.14.0/24
130.176.16.0/23
130.176.20.0/24
130.176.24.0/21
130.176.32.0/21
130.176.40.0/24
130.176.43.0/24
130.176.45.0/24
130.176.46.0/24
130.176.48.0/24
130.176.50.0/24
130.176.53.0/24
130.176.54.0/23
130.176.56.0/24
130.176.65.0/24
130.176.66.0/23
130.176.68.0/24
130.176.71.0/24
130.176.75.0/24
130.176.76.0/22
130.176.80.0/21
130.176.88.0/22
130.176.92.0/23
130.176.96.0/22
130.176.100.0/24
130.176.102.0/23
130.176.104.0/21
130.176.112.0/23
130.176.116.0/22
130.176.120.0/24
130.176.125.0/24
130.176.126.0/23
130.176.129.0/24
130.176.130.0/23
130.176.132.0/22
130.176.136.0/21
130.176.144.0/20
130.176.160.0/24
130.176.162.0/23
130.176.164.0/22
130.176.168.0/22
130.176.172.0/24
130.176.174.0/23
130.176.179.0/24
130.176.182.0/23
130.176.184.0/21
130.176.192.0/21
130.176.201.0/24
130.176.202.0/23
130.176.204.0/22
130.176.208.0/21
130.176.216.0/22
130.176.220.0/24
130.176.222.0/24
130.176.224.0/21
130.176.232.0/23
130.176.234.0/24
130.176.252.0/24
130.176.254.0/23
130.193.2.0/24
131.226.191.0/24
131.232.37.0/24
131.232.76.0/23
131.232.78.0/24
134.195.39.0/24
134.195.208.0/22
134.224.0.0/17
134.224.128.0/18
134.224.192.0/19
134.224.224.0/20
134.224.240.0/21
134.224.248.0/22
135.84.124.0/24
136.175.24.0/23
136.175.106.0/23
136.175.113.0/24
136.175.158.0/24
136.184.224.0/22
136.184.229.0/24
136.184.230.0/23
136.184.232.0/23
136.228.0.0/19
137.83.35.0/24
137.83.193.0/24
137.83.194.0/23
137.83.196.0/22
137.83.200.0/21
137.83.208.0/22
137.83.212.0/24
137.83.214.0/24
137.83.251.0/24
137.83.252.0/23
138.43.114.0/24
139.56.0.0/22
139.56.4.0/23
139.56.16.0/21
139.56.24.0/23
139.56.28.0/22
139.56.32.0/23
139.60.0.0/22
139.60.113.0/24
139.60.114.0/24
139.60.153.0/24
139.60.200.0/21
139.64.200.0/24
139.64.232.0/24
139.138.99.0/24
139.138.105.0/24
139.180.17.0/24
139.180.31.0/24
139.180.242.0/23
139.180.244.0/22
139.180.248.0/22
140.19.64.0/23
141.11.12.0/22
141.11.71.0/24
141.193.32.0/23
141.193.71.0/24
141.193.150.0/24
141.193.208.0/23
142.0.189.0/24
142.0.190.0/23
142.54.38.0/23
142.54.40.0/23
142.147.10.0/23
142.202.36.0/22
142.202.40.0/22
142.202.46.0/24
142.202.129.0/24
142.202.204.0/24
143.55.151.0/24
143.204.0.0/16
143.220.128.0/21
143.220.136.0/22
143.220.140.0/23
143.220.142.0/24
143.220.144.0/22
143.220.148.0/23
143.244.80.0/24
143.244.84.0/22
144.2.154.0/24
144.2.170.0/24
144.81.129.0/24
144.81.130.0/23
144.81.132.0/22
144.81.136.0/22
144.81.140.0/24
144.81.144.0/21
144.81.152.0/24
144.86.185.0/24
144.86.202.0/24
144.220.0.0/16
146.71.3.0/24
146.133.124.0/24
146.133.127.0/24
147.124.160.0/22
147.124.164.0/23
147.160.133.0/24
147.160.167.0/24
147.189.18.0/23
148.5.64.0/24
148.5.72.0/24
148.5.74.0/24
148.5.76.0/23
148.5.80.0/24
148.5.84.0/24
148.5.86.0/23
148.5.88.0/24
148.5.93.0/24
148.5.95.0/24
148.59.24.0/24
148.59.77.0/24
148.59.78.0/24
148.163.131.0/24
149.19.6.0/23
149.20.11.0/24
150.222.0.0/16
150.242.68.0/24
151.148.1.0/24
152.129.248.0/22
155.46.135.0/24
155.63.85.0/24
155.63.86.0/24
155.63.90.0/23
155.63.208.0/23
155.63.210.0/24
155.63.213.0/24
155.63.215.0/24
155.63.216.0/23
155.63.218.0/24
155.63.221.0/24
155.63.222.0/23
155.146.0.0/17
155.146.128.0/18
155.146.192.0/19
155.146.224.0/20
155.226.224.0/20
155.226.254.0/24
156.70.108.0/24
156.154.19.0/24
157.53.253.0/24
157.53.254.0/23
157.84.32.0/23
157.84.40.0/23
157.166.132.0/22
157.166.138.0/23
157.166.212.0/22
157.167.134.0/23
157.167.136.0/21
157.167.144.0/21
157.167.152.0/23
157.167.155.0/24
157.167.156.0/24
157.167.184.0/21
157.167.231.0/24
157.175.0.0/16
157.241.0.0/16
157.248.214.0/23
157.248.216.0/22
158.51.9.0/24
158.51.64.0/23
158.51.108.0/24
158.51.225.0/24
158.115.133.0/24
158.115.141.0/24
158.115.147.0/24
158.115.151.0/24
158.115.156.0/24
158.247.16.0/20
159.60.0.0/20
159.60.192.0/18
159.112.232.0/24
159.140.140.0/23
159.140.144.0/24
159.148.136.0/23
160.1.0.0/16
160.202.20.0/23
160.202.22.0/24
161.38.192.0/20
161.69.100.0/22
161.69.105.0/24
161.69.106.0/23
161.69.109.0/24
161.69.110.0/23
161.129.184.0/24
161.188.0.0/19
161.188.32.0/20
161.188.128.0/18
161.188.205.0/24
161.199.67.0/24
161.199.128.0/24
162.208.122.0/23
162.212.32.0/24
162.213.126.0/23
162.215.224.0/23
162.218.159.0/24
162.219.8.0/21
162.219.224.0/22
162.221.160.0/21
162.221.182.0/23
162.222.148.0/22
162.246.176.0/24
162.246.183.0/24
162.247.160.0/24
162.247.162.0/23
162.247.218.0/24
162.248.24.0/24
162.249.117.0/24
162.253.3.0/24
162.253.4.0/24
163.47.181.0/24
163.123.172.0/22
163.253.46.0/23
164.55.234.0/23
164.55.236.0/24
164.55.240.0/23
164.55.243.0/24
164.55.244.0/24
164.55.247.0/24
164.55.255.0/24
164.153.128.0/22
164.153.132.0/23
164.153.134.0/24
165.1.160.0/20
165.69.249.0/24
165.84.210.0/24
165.140.132.0/23
165.140.171.0/24
165.225.100.0/23
165.225.126.0/24
167.88.51.0/24
167.88.58.0/24
167.94.12.0/24
167.94.127.0/24
167.124.104.0/23
168.87.182.0/24
168.100.64.0/19
168.100.96.0/21
168.100.104.0/24
168.100.106.0/23
168.100.108.0/22
168.100.112.0/23
168.100.114.0/24
168.100.164.0/24
168.100.168.0/23
168.100.177.0/24
168.149.240.0/21
168.151.30.0/24
168.238.4.0/23
168.238.6.0/24
168.238.100.0/24
168.245.151.0/24
168.245.155.0/24
169.150.108.0/23
170.10.223.0/24
170.39.88.0/24
170.39.141.0/24
170.72.224.0/21
170.72.232.0/24
170.72.235.0/24
170.72.236.0/22
170.72.240.0/23
170.72.248.0/21
170.89.128.0/22
170.89.132.0/23
170.89.134.0/24
170.89.141.0/24
170.89.144.0/22
170.89.149.0/24
170.89.150.0/23
170.89.152.0/23
170.89.156.0/22
170.89.160.0/24
170.89.164.0/24
170.89.173.0/24
170.89.176.0/24
170.89.178.0/24
170.89.181.0/24
170.89.182.0/23
170.89.184.0/24
170.89.189.0/24
170.89.190.0/23
170.114.0.0/19
170.114.34.0/23
170.114.37.0/24
170.114.38.0/24
170.114.40.0/23
170.176.129.0/24
170.176.135.0/24
170.176.153.0/24
170.176.154.0/23
170.176.156.0/24
170.176.158.0/24
170.176.160.0/24
170.176.200.0/24
170.176.212.0/22
170.176.216.0/23
170.176.220.0/22
170.200.94.0/24
172.82.70.0/24
172.83.93.0/24
172.86.224.0/23
172.99.14.0/23
172.99.250.0/24
172.103.40.0/24
173.195.208.0/22
173.195.215.0/24
173.199.8.0/23
173.199.16.0/24
173.199.29.0/24
173.199.37.0/24
173.199.38.0/24
173.199.56.0/23
173.213.62.0/23
173.231.88.0/22
173.239.252.0/24
173.240.165.0/24
173.241.39.0/24
173.241.44.0/23
173.241.46.0/24
173.241.81.0/24
173.241.82.0/24
173.241.89.0/24
173.241.90.0/24
173.249.168.0/22
174.34.245.0/24
174.129.0.0/16
175.41.128.0/17
176.32.64.0/19
176.32.96.0/20
176.32.112.0/21
176.32.120.0/22
176.32.126.0/23
176.34.0.0/16
176.52.187.0/24
176.110.104.0/24
176.116.14.0/24
176.116.21.0/24
176.124.224.0/24
176.221.80.0/22
177.71.128.0/17
177.72.240.0/21
178.213.75.0/24
178.218.199.0/24
178.236.0.0/20
178.236.235.0/24
178.239.128.0/23
178.239.130.0/24
179.0.17.0/24
182.54.135.0/24
184.72.0.0/15
184.169.128.0/17
185.13.14.0/24
185.20.4.0/24
185.27.144.0/22
185.31.204.0/22
185.36.216.0/22
185.37.37.0/24
185.37.39.0/24
185.39.10.0/24
185.42.204.0/22
185.43.192.0/22
185.44.176.0/24
185.48.120.0/22
185.49.132.0/23
185.49.142.0/23
185.53.16.0/22
185.54.72.0/22
185.54.124.0/24
185.54.126.0/24
185.55.188.0/24
185.55.190.0/23
185.57.216.0/23
185.57.218.0/24
185.64.6.0/24
185.64.73.0/24
185.66.202.0/23
185.68.58.0/23
185.69.1.0/24
185.73.224.0/24
185.75.60.0/22
185.83.20.0/22
185.88.184.0/23
185.95.174.0/24
185.97.10.0/24
185.98.156.0/24
185.98.159.0/24
185.107.197.0/24
185.109.132.0/22
185.117.225.0/24
185.118.109.0/24
185.119.221.0/24
185.119.223.0/24
185.120.172.0/23
185.120.174.0/24
185.122.214.0/24
185.127.28.0/24
185.129.16.0/23
185.133.70.0/24
185.134.79.0/24
185.135.128.0/24
185.137.156.0/24
185.141.193.0/24
185.143.16.0/22
185.143.236.0/24
185.143.239.0/24
185.144.16.0/24
185.144.18.0/23
185.144.223.0/24
185.150.179.0/24
185.151.44.0/23
185.151.47.0/24
185.156.16.0/24
185.166.140.0/22
185.169.27.0/24
185.170.41.0/24
185.170.188.0/24
185.175.91.0/24
185.186.212.0/24
185.187.116.0/22
185.188.28.0/24
185.192.56.0/23
185.195.0.0/22
185.195.148.0/24
185.206.120.0/24
185.206.228.0/24
185.210.156.0/24
185.211.50.0/24
185.212.105.0/24
185.212.113.0/24
185.212.119.0/24
185.214.22.0/23
185.215.115.0/24
185.225.252.0/22
185.226.166.0/24
185.228.73.0/24
185.230.103.0/24
185.236.142.0/24
185.237.4.0/22
185.249.192.0/22
185.253.9.0/24
185.255.32.0/22
185.255.54.0/24
188.72.93.0/24
188.95.14.0/24
188.95.140.0/23
188.95.142.0/24
188.116.35.0/24
188.172.137.0/24
188.172.138.0/24
192.16.64.0/21
192.30.228.0/22
192.31.109.0/24
192.42.69.0/24
192.58.252.0/24
192.68.37.0/24
192.69.159.0/24
192.71.84.0/24
192.71.255.0/24
192.80.240.0/22
192.80.244.0/23
192.81.98.0/23
192.84.23.0/24
192.84.38.0/24
192.92.97.0/24
192.101.70.0/24
192.101.119.0/24
192.108.239.0/24
192.111.4.0/23
192.111.6.0/24
192.118.70.0/23
192.131.88.0/24
192.132.1.0/24
192.135.64.0/24
192.139.134.0/24
192.146.118.0/24
192.149.210.0/24
192.151.28.0/23
192.152.132.0/23
192.153.76.0/24
192.158.25.0/24
192.159.123.0/24
192.161.148.0/22
192.161.152.0/24
192.161.157.0/24
192.175.1.0/24
192.175.3.0/24
192.175.4.0/24
192.184.67.0/24
192.184.68.0/22
192.184.72.0/23
192.184.79.0/24
192.188.81.0/24
192.190.134.0/23
192.190.152.0/23
192.195.173.0/24
192.197.207.0/24
192.206.0.0/24
192.206.146.0/23
192.206.206.0/23
192.210.30.0/23
192.225.99.0/24
192.225.212.0/24
192.225.215.0/24
192.225.217.0/24
192.225.218.0/23
192.225.223.0/24
192.228.79.0/24
192.245.186.0/24
192.245.195.0/24
192.251.86.0/24
193.0.181.0/24
193.3.28.0/24
193.3.160.0/24
193.5.144.0/24
193.9.122.0/24
193.16.22.0/23
193.17.68.0/24
193.25.48.0/24
193.25.50.0/23
193.25.52.0/23
193.25.54.0/24
193.25.62.0/23
193.30.161.0/24
193.33.137.0/24
193.35.157.0/24
193.37.39.0/24
193.37.132.0/24
193.38.53.0/24
193.47.187.0/24
193.57.172.0/24
193.84.26.0/24
193.100.64.0/24
193.104.169.0/24
193.105.212.0/24
193.107.65.0/24
193.109.254.0/24
193.110.146.0/24
193.111.200.0/24
193.131.114.0/23
193.138.90.0/24
193.149.136.0/24
193.149.145.0/24
193.151.92.0/24
193.151.94.0/24
193.160.154.0/24
193.200.30.0/24
193.200.156.0/24
193.219.118.0/24
193.221.125.0/24
193.227.82.0/24
193.234.120.0/22
193.238.226.0/24
193.239.162.0/23
193.243.129.0/24
194.9.62.0/24
194.11.230.0/23
194.29.58.0/24
194.30.175.0/24
194.33.184.0/24
194.33.250.0/23
194.33.252.0/24
194.35.240.0/24
194.42.96.0/23
194.42.104.0/23
194.50.176.0/24
194.53.200.0/23
194.99.96.0/23
194.104.235.0/24
194.146.160.0/23
194.146.163.0/24
194.156.136.0/24
194.165.43.0/24
194.195.101.0/24
194.230.56.0/24
194.247.26.0/23
195.8.103.0/24
195.10.217.0/24
195.42.240.0/24
195.46.38.0/24
195.74.60.0/24
195.82.97.0/24
195.85.12.0/24
195.85.75.0/24
195.85.108.0/24
195.88.246.0/23
195.93.178.0/24
195.191.165.0/24
195.200.230.0/23
195.234.155.0/24
195.245.230.0/23
198.17.127.0/24
198.47.92.0/22
198.99.2.0/24
198.99.123.0/24
198.99.138.0/24
198.99.189.0/24
198.135.168.0/24
198.136.165.0/24
198.137.239.0/24
198.154.180.0/23
198.160.151.0/24
198.169.0.0/24
198.176.126.0/23
198.177.255.0/24
198.178.114.0/23
198.204.203.0/24
198.207.147.0/24
198.212.176.0/24
198.232.144.0/24
198.251.128.0/18
198.251.192.0/19
198.251.224.0/21
199.9.15.0/24
199.9.248.0/21
199.19.88.0/22
199.19.192.0/24
199.30.176.0/24
199.30.183.0/24
199.43.188.0/24
199.47.80.0/24
199.47.128.0/22
199.47.171.0/24
199.59.240.0/24
199.59.243.0/24
199.65.18.0/23
199.65.20.0/22
199.65.24.0/23
199.65.241.0/24
199.65.242.0/24
199.65.245.0/24
199.65.246.0/24
199.65.249.0/24
199.65.250.0/24
199.68.157.0/24
199.85.125.0/24
199.87.144.0/23
199.91.52.0/23
199.91.149.0/24
199.127.232.0/22
199.165.143.0/24
199.184.207.0/24
199.187.168.0/22
199.188.156.0/24
199.192.13.0/24
199.196.234.0/23
199.201.117.0/24
199.201.127.0/24
199.242.255.0/24
199.250.16.0/24
199.255.112.0/22
199.255.192.0/22
199.255.211.0/24
200.12.197.0/24
202.8.25.0/24
202.22.167.0/24
202.44.120.0/21
202.45.131.0/24
202.52.43.0/24
202.92.192.0/23
202.93.4.0/23
202.93.249.0/24
202.128.99.0/24
202.144.196.0/24
202.160.113.0/24
202.160.115.0/24
202.160.117.0/24
202.160.119.0/24
202.173.24.0/24
202.173.26.0/23
202.173.31.0/24
203.2.170.0/24
203.12.218.0/24
203.20.242.0/23
203.27.115.0/24
203.27.226.0/23
203.83.220.0/22
203.119.92.0/23
203.175.0.0/22
203.210.75.0/24
204.8.28.0/23
204.8.30.0/24
204.10.96.0/21
204.11.174.0/23
204.14.74.0/24
204.15.172.0/24
204.15.215.0/24
204.48.63.0/24
204.75.186.0/23
204.75.188.0/23
204.77.194.0/24
204.89.148.0/22
204.90.106.0/24
204.110.219.0/24
204.110.220.0/22
204.126.24.0/23
204.128.249.0/24
204.138.180.0/24
204.153.219.0/24
204.236.128.0/17
204.246.160.0/19
205.147.80.0/23
205.157.216.0/22
205.166.195.0/24
205.167.215.0/24
205.172.119.0/24
205.201.40.0/21
205.201.59.0/24
205.220.188.0/23
205.233.0.0/24
205.235.120.0/23
205.251.192.0/18
206.55.100.0/24
206.55.102.0/24
206.108.41.0/24
206.126.254.0/24
206.130.43.0/24
206.130.88.0/23
206.166.248.0/23
206.195.216.0/23
206.195.218.0/24
206.195.220.0/22
206.198.37.0/24
206.198.131.0/24
206.204.64.0/21
206.204.72.0/22
206.204.78.0/23
206.204.80.0/23
206.204.86.0/23
206.204.88.0/23
206.225.200.0/23
206.225.203.0/24
206.225.217.0/24
206.225.219.0/24
207.2.117.0/24
207.2.118.0/23
207.34.11.0/24
207.45.79.0/24
207.64.134.0/23
207.66.105.0/24
207.66.106.0/23
207.66.108.0/24
207.167.92.0/22
207.167.126.0/23
207.171.160.0/19
207.189.185.0/24
207.202.16.0/23
207.202.20.0/24
207.207.176.0/22
207.230.136.0/24
207.230.140.0/22
207.230.144.0/24
207.230.151.0/24
207.230.156.0/24
207.230.158.0/24
208.56.44.0/22
208.56.48.0/20
208.70.208.0/22
208.71.22.0/23
208.71.106.0/24
208.71.208.0/22
208.73.7.0/24
208.75.220.0/22
208.78.4.0/22
208.79.45.0/24
208.79.47.0/24
208.80.95.0/24
208.80.128.0/24
208.80.202.0/23
208.82.220.0/22
208.84.160.0/24
208.88.208.0/23
208.88.210.0/24
208.89.246.0/23
208.90.238.0/24
208.91.36.0/23
208.93.79.0/24
208.93.103.0/24
208.93.111.0/24
208.95.53.0/24
208.95.54.0/24
208.127.200.0/21
209.51.32.0/21
209.54.160.0/19
209.94.74.0/23
209.127.217.0/24
209.142.78.0/23
209.142.112.0/24
209.160.100.0/22
209.163.96.0/24
209.166.192.0/18
209.169.228.0/24
209.169.242.0/24
209.177.76.0/24
209.209.25.0/24
209.222.77.0/24
209.222.82.0/24
212.8.241.0/24
212.19.235.0/24
212.19.236.0/24
212.46.57.0/24
212.104.208.0/24
213.109.176.0/22
213.156.160.0/19
213.170.156.0/24
213.170.158.0/24
213.217.29.0/24
216.9.199.0/24
216.9.204.0/24
216.24.45.0/24
216.73.152.0/22
216.75.96.0/20
216.99.220.0/24
216.115.17.0/24
216.115.20.0/22
216.120.142.0/24
216.120.187.0/24
216.122.176.0/22
216.137.32.0/19
216.147.0.0/19
216.147.32.0/23
216.152.64.0/22
216.152.77.0/24
216.157.133.0/24
216.157.139.0/24
216.157.156.0/24
216.169.145.0/24
216.169.147.0/24
216.170.100.0/24
216.182.224.0/20
216.185.38.0/24
216.198.1.0/24
216.198.2.0/23
216.198.4.0/24
216.198.17.0/24
216.198.18.0/24
216.198.33.0/24
216.198.34.0/23
216.198.36.0/24
216.198.49.0/24
216.211.162.0/24
216.219.112.0/23
216.230.13.0/24
216.230.14.0/24
216.231.193.0/24
216.231.196.0/24
216.231.207.0/24
216.238.188.0/23
216.238.190.0/24
216.241.208.0/20
216.247.236.0/24
217.8.118.0/24
217.117.65.0/24
217.117.71.0/24
217.119.96.0/24
217.119.98.0/24
217.119.104.0/23
217.169.73.0/24' > Amazon/202205_02_amaz-CIDRCollapsed.txt


 ##   Amazon's IPv6

 echo '2001:4f8:b::/48
2001:4f8:11::/48
2001:506:370::/48
2001:678:264::/48
2001:678:2cc::/48
2001:678:f64::/48
2001:678:f8c::/48
2001:678:f90::/48
2001:67c:b4::/48
2001:67c:788::/48
2001:dc1::/48
2001:dcd:22::/47
2001:df0:5640::/48
2001:df0:59c0::/48
2001:df3:5580::/48
2001:df3:a280::/48
2001:df3:c300::/48
2001:df5:6d00::/48
2001:df6:6880::/48
2001:df6:9580::/48
2400:6500::/32
2400:6700::/32
2401:1d80:3000::/40
2402:2a80::/32
2403:5f40:ca00::/44
2403:b300::/32
2403:e040:8000::/33
2404:f4c0:e666::/47
2406:840:e666::/47
2406:da00::/32
2406:da11::/36
2406:da12::/36
2406:da14::/36
2406:da16::/36
2406:da17::/36
2406:da18::/36
2406:da19::/36
2406:da1a::/36
2406:da1b::/36
2406:da1c::/36
2406:da1e::/36
2406:da1f::/36
2406:da70:1000::/40
2406:da70:2000::/40
2406:da70:4000::/40
2406:da70:6000::/40
2406:da70:8000::/40
2406:da70:a000::/40
2406:da70:c000::/40
2406:da70:e000::/40
2406:daa0:1000::/40
2406:daa0:2040::/44
2406:daa0:2080::/44
2406:daa0:20c0::/44
2406:daa0:4020::/44
2406:daa0:4040::/44
2406:daa0:4060::/44
2406:daa0:4080::/44
2406:daa0:40a0::/44
2406:daa0:40c0::/44
2406:daa0:6080::/44
2406:daa0:7000::/40
2406:daa0:8020::/44
2406:daa0:8080::/44
2406:daa0:80c0::/44
2406:daa0:9000::/40
2406:daa0:a040::/44
2406:daa0:a080::/44
2406:daa0:a0c0::/44
2406:daa0:b000::/40
2406:daa0:c020::/44
2406:daa0:c040::/44
2406:daa0:c080::/44
2406:daa0:c0c0::/44
2406:daa0:e000::/40
2406:daa0:f000::/40
2407:1080::/32
240f:8000:4000::/40
240f:8000:8000::/40
240f:8014::/36
240f:8018::/36
2600:1f00:1000::/40
2600:1f00:2000::/40
2600:1f00:3000::/40
2600:1f00:4000::/40
2600:1f00:5000::/40
2600:1f00:6000::/40
2600:1f00:8000::/40
2600:1f00:c000::/40
2600:1f00:e000::/40
2600:1f01:4081::/48
2600:1f01:4800::/47
2600:1f01:4810::/47
2600:1f01:4820::/47
2600:1f01:4830::/47
2600:1f01:4840::/47
2600:1f01:4844::/47
2600:1f01:4850::/47
2600:1f01:4860::/47
2600:1f01:4870::/47
2600:1f01:4874::/47
2600:1f01:4880::/47
2600:1f01:4890::/47
2600:1f01:48a0::/47
2600:1f01:48b0::/47
2600:1f01:48c0::/47
2600:1f01:48d0::/46
2600:1f01:48e0::/47
2600:1f10:4000::/36
2600:1f11::/36
2600:1f12::/36
2600:1f13::/36
2600:1f14::/34
2600:1f15::/36
2600:1f16::/36
2600:1f18::/33
2600:1f1a::/36
2600:1f1c::/36
2600:1f1e::/36
2600:1f1f::/36
2600:1f70:1000::/40
2600:1f70:2000::/40
2600:1f70:4000::/40
2600:1f70:5000::/40
2600:1f70:6000::/40
2600:1f70:8000::/40
2600:1f70:c000::/40
2600:1f70:e000::/40
2600:1fa0:1040::/44
2600:1fa0:1080::/44
2600:1fa0:10c0::/44
2600:1fa0:2040::/44
2600:1fa0:2080::/44
2600:1fa0:20c0::/44
2600:1fa0:4020::/46
2600:1fa0:402c::/46
2600:1fa0:4040::/44
2600:1fa0:4060::/46
2600:1fa0:406c::/46
2600:1fa0:4080::/44
2600:1fa0:40a0::/46
2600:1fa0:40ac::/46
2600:1fa0:40c0::/44
2600:1fa0:6040::/44
2600:1fa0:6080::/44
2600:1fa0:60c0::/44
2600:1fa0:8010::/44
2600:1fa0:8020::/44
2600:1fa0:8040::/44
2600:1fa0:8050::/45
2600:1fa0:8060::/44
2600:1fa0:8080::/43
2600:1fa0:80a0::/44
2600:1fa0:80c0::/44
2600:1fa0:80e0::/44
2600:1fa0:a040::/44
2600:1fa0:a080::/44
2600:1fa0:a0c0::/44
2600:1fa0:c020::/44
2600:1fa0:c040::/44
2600:1fa0:c0c0::/44
2600:1fa0:e020::/44
2600:1fa0:e040::/44
2600:1fa0:e080::/44
2600:1fa0:e0c0::/44
2600:1ffb:40c0::/46
2600:1ffb:60c0::/47
2600:1ffb:8021::/48
2600:1ffb:80a0::/47
2600:1ffd:803f::/48
2600:1ffd:8066::/48
2600:1ffd:807b::/48
2600:1ffd:807f::/48
2600:1ffd:80a7::/48
2600:1ffd:80e1::/48
2600:1ffd:812f::/48
2600:1ffd:816c::/48
2600:1ffd:8190::/48
2600:1ffd:81c2::/48
2600:1ffd:8285::/48
2600:1ffd:82be::/48
2600:1ffd:831b::/48
2600:1ffd:833b::/48
2600:1ffd:838e::/48
2600:1ffd:83ad::/48
2600:1ffd:83d2::/48
2600:1ffd:8422::/48
2600:1ffd:8492::/48
2600:1ffd:84bd::/48
2600:1ffd:8508::/48
2600:1ffd:85b2::/48
2600:1ffd:85c0::/48
2600:1ffd:85e8::/48
2600:9000:fff:ff0a::/63
2600:9000:1000::/36
2600:9000:2000::/35
2600:9000:4000::/36
2600:9000:5300::/40
2600:9000:a100::/40
2600:9000:a200::/39
2600:9000:a400::/38
2600:9000:a800::/37
2600:9000:f101::/48
2600:9000:f102::/47
2600:9000:f110::/48
2600:9000:f120::/48
2600:9000:f130::/48
2600:9000:f140::/48
2600:9000:f150::/48
2600:9000:f210::/48
2600:9000:f220::/48
2600:9000:f230::/48
2600:9000:f240::/44
2600:9000:f310::/48
2600:9000:f320::/48
2600:9000:f330::/48
2600:9000:f340::/44
2600:9000:f530::/46
2600:9000:f534::/47
2602:806:7008::/46
2602:806:700c::/47
2602:806:700e::/48
2602:808:4001::/48
2602:808:4002::/48
2602:808:7000::/44
2602:808:a000::/44
2602:80a:2001::/48
2602:80a:2002::/48
2602:80a:2005::/48
2602:80a:2006::/48
2602:80a:2008::/48
2602:80a:200b::/48
2602:80a:200c::/47
2602:80c::/47
2602:80c:4::/48
2602:80f:9000::/48
2602:fb7b:3f::/48
2602:fba8:f00::/48
2602:fbd0:10::/44
2602:fbd3::/48
2602:fc0f::/48
2602:fc5b::/36
2602:fc7d:f2::/48
2602:fc88::/36
2602:fcbc::/48
2602:fcbc:2::/48
2602:fcd8::/48
2602:fcd8:7::/48
2602:fcde::/36
2602:fd12::/48
2602:fd3a:228::/47
2602:fd3a:22a::/48
2602:fd3a:22c::/47
2602:fd3a:22e::/48
2602:fd40:ca1::/48
2602:fd40:ca2::/48
2602:fdeb:1::/48
2602:fdeb:4::/47
2602:fdeb:10::/46
2602:fdeb:14::/48
2604:bc40:6000::/48
2604:bc40:6110::/48
2604:f700::/47
2605:32c0:a001::/48
2605:32c0:a003::/48
2605:84c0:56::/47
2605:9cc0:302::/48
2605:9cc0:304::/47
2605:9cc0:310::/48
2605:9cc0:370::/48
2605:9cc0:38b::/48
2605:9cc0:395::/48
2605:9cc0:39c::/47
2605:9cc0:409::/48
2605:9cc0:40c::/48
2605:9cc0:450::/48
2605:9cc0:518::/48
2605:9cc0:51a::/48
2605:9cc0:51c::/48
2605:9cc0:51e::/48
2605:9cc0:520::/48
2605:9cc0:522::/48
2605:9cc0:524::/48
2605:9cc0:526::/48
2605:9cc0:528::/48
2605:9cc0:52a::/48
2605:9cc0:52c::/48
2605:9cc0:52f::/48
2605:9cc0:531::/48
2605:9cc0:533::/48
2605:9cc0:1ff0::/46
2605:9cc0:ffff::/48
2605:a7c0:100::/45
2605:a7c0:108::/46
2605:a7c0:10c::/47
2605:a7c0:110::/45
2605:a7c0:118::/46
2605:a7c0:11c::/47
2605:a7c0:120::/45
2605:a7c0:128::/46
2605:a7c0:12c::/47
2605:a7c0:130::/45
2605:a7c0:138::/46
2605:a7c0:13c::/47
2605:a7c0:140::/45
2605:a7c0:148::/46
2605:a7c0:14c::/47
2605:a7c0:150::/45
2605:a7c0:158::/46
2605:a7c0:15c::/47
2605:dd40:8260::/44
2605:dd40:8570::/44
2605:dd40:8880::/44
2605:dd40:8990::/44
2605:dd40:8f00::/44
2605:dd40:8f80::/44
2605:dd40:8ff0::/44
2605:e240:7::/48
2605:e240:b::/48
2606:2c0:2::/47
2606:2c0:4::/48
2606:ec0:2000::/36
2606:f40::/47
2606:f40:1001::/48
2606:f40:3001::/48
2606:f40:4000::/48
2606:f40:6800::/48
2606:2cc0::/46
2606:6c00:ff::/48
2606:7740::/47
2606:7bc0:1060::/47
2606:7bc0:1080::/47
2606:7bc0:1090::/47
2606:9c40::/48
2606:9fc0:9000::/48
2606:a440:4::/47
2607:6100:a0::/48
2607:fb90:c150::/48
2620:20:8000::/48
2620:9c:a000::/48
2620:9d:6000::/48
2620:a5:6000::/47
2620:df:4000::/45
2620:df:4008::/46
2620:df:400c::/47
2620:104:2040::/47
2620:104:6003::/48
2620:104:6004::/48
2620:107:3000::/44
2620:108:7000::/44
2620:108:d000::/44
2620:116:800a::/47
2620:116:800c::/47
2620:116:800e::/48
2620:121:5040::/46
2620:121:5070::/47
2620:123:20f8::/47
2620:131:1065::/48
2620:133:c000::/48
2804:800::/32
2a00:e20:143::/48
2a00:e20:150::/46
2a00:e20:154::/48
2a00:e27:143::/48
2a00:18e0:5::/48
2a00:4bc0:2101::/48
2a00:4bc0:2102::/47
2a00:4bc0:2104::/46
2a00:4bc0:2108::/45
2a00:4bc0:2110::/45
2a00:4bc0:2118::/47
2a00:4bc0:211b::/48
2a00:4bc0:211c::/46
2a00:4bc0:2120::/45
2a00:4bc0:2128::/46
2a00:4bc0:212c::/47
2a00:4bc0:212e::/48
2a00:4bc0:2130::/46
2a00:4bc0:2134::/47
2a00:de61::/38
2a01:578::/32
2a01:62e0::/32
2a01:bb22::/32
2a01:bb23:8000::/33
2a01:bb24::/48
2a01:bb24:2::/48
2a01:bb24:100::/48
2a01:bb24:102::/48
2a02:ef80::/48
2a03:5640:f000::/42
2a03:5640:f040::/46
2a03:5640:f044::/48
2a03:5640:f100::/42
2a03:5640:f140::/46
2a03:5640:f144::/47
2a03:5640:f200::/43
2a03:5640:f220::/45
2a03:5640:f300::/47
2a03:5640:f302::/48
2a03:5640:f500::/44
2a03:5640:f510::/45
2a03:5640:f518::/47
2a03:5640:f530::/47
2a03:5640:f532::/48
2a03:5640:f560::/48
2a04:2f81::/47
2a04:2f81:4::/47
2a04:b902::/32
2a04:b907::/47
2a04:e4c4:5::/48
2a05:d000:1000::/40
2a05:d000:2000::/40
2a05:d000:4000::/40
2a05:d000:5000::/40
2a05:d000:6000::/40
2a05:d000:8000::/40
2a05:d000:9000::/40
2a05:d000:a000::/40
2a05:d000:c000::/40
2a05:d000:e000::/40
2a05:d011::/36
2a05:d012::/36
2a05:d014::/35
2a05:d015::/36
2a05:d016::/36
2a05:d018::/35
2a05:d019::/36
2a05:d01a::/36
2a05:d01c::/36
2a05:d01e::/36
2a05:d03a:2000::/40
2a05:d03a:4000::/40
2a05:d03a:6000::/40
2a05:d03a:8000::/40
2a05:d03a:a000::/40
2a05:d03a:c000::/40
2a05:d03a:e000::/40
2a05:d050:1000::/40
2a05:d050:2000::/40
2a05:d050:4000::/40
2a05:d050:5000::/40
2a05:d050:6000::/40
2a05:d050:8000::/40
2a05:d050:9000::/40
2a05:d050:a000::/40
2a05:d050:c000::/40
2a05:d050:e000::/40
2a06:56c1::/32
2a06:56c2::/40
2a06:e881:73ff::/48
2a07:e00:19f::/48
2a07:e02:41::/48
2a09:ea00::/47
2a09:ea00:2::/48
2a0a:144:400::/48
2a0a:580:f010::/48
2a0a:2b00:20::/48
2a0a:4540:10::/48
2a0a:4540:220::/48
2a0a:4540:1000::/48
2a0a:d880:102::/48
2a0b:b87:ffb0::/48
2a0b:4080::/32
2a0b:4581::/48
2a0b:6c81::/32
2a0b:8780::/48
2a0c:b280::/48
2a0c:b641:16a::/48
2a0e:a780::/36
2a0e:a781::/36
2a0e:b107:e70::/48
2a0f:340::/29
2a0f:aac0::/47
2a0f:aac0:2::/48
2a10:f80::/32
2a10:2307:fffe::/47
2a10:6640:1::/48
2a10:a100::/32
2a10:a200::/48
2a10:ba00:bee5::/48
2a11:5ec0::/48
2a11:bd80::/32
2a12:1b80::/32
2a12:3e40::/48
2a12:7280::/29
2a12:9140::/48
2a12:a900:1::/48' > Amazon/202205_02_amaz-IPv6-CIDRCollapsed.txt




 ##   CLOUDFLARE
 ##   ----------

 ##   They have a big network that uses ASNs, in EXAMPLE INSTRUCTIONS you can
 ##     use the following (known) ASN for this DIGITAL FEUDALIST:
 ##
 ##     AS13335
 ##     AS14789
 ##     AS132892
 ##     AS133877
 ##     AS139242
 ##     AS202623
 ##     AS203898
 ##     AS209242
 ##     AS394536
 ##     AS395747


 echo '1.0.0.0/24
1.1.1  (OMITTED/SPLIT, as included in the DNS ONLY file above)  .0/24
5.101.36.0/24
5.101.39.0/24
5.149.0.0/23
5.149.4.0/22
5.226.179.0/24
5.226.181.0/24
5.252.118.0/24
8.6.112.0/24
8.6.144.0/23
8.6.146.0/24
8.9.230.0/23
8.10.148.0/24
8.12.10.0/24
8.14.199.0/24
8.14.201.0/24
8.14.202.0/23
8.14.204.0/24
8.17.205.0/24
8.17.206.0/23
8.18.50.0/24
8.18.113.0/24
8.18.194.0/23
8.18.196.0/24
8.19.8.0/24
8.19.10.0/24
8.20.100.0/23
8.20.103.0/24
8.20.122.0/23
8.20.124.0/22
8.20.253.0/24
8.21.8.0/22
8.21.12.0/23
8.21.110.0/23
8.21.238.0/23
8.23.139.0/24
8.23.240.0/24
8.24.87.0/24
8.24.242.0/23
8.24.244.0/24
8.25.96.0/23
8.25.98.0/24
8.25.249.0/24
8.26.176.0/24
8.26.180.0/24
8.26.182.0/24
8.27.64.0/24
8.27.66.0/23
8.27.68.0/23
8.27.70.0/24
8.27.79.0/24
8.28.20.0/24
8.28.82.0/24
8.28.126.0/23
8.28.213.0/24
8.29.105.0/24
8.29.109.0/24
8.29.228.0/24
8.29.230.0/23
8.30.234.0/24
8.31.2.0/24
8.31.160.0/23
8.31.163.0/24
8.31.167.0/24
8.34.68.0/22
8.34.146.0/24
8.34.200.0/23
8.34.202.0/24
8.35.57.0/24
8.35.58.0/23
8.35.149.0/24
8.35.211.0/24
8.35.216.0/24
8.36.216.0/22
8.36.220.0/24
8.37.41.0/24
8.37.43.0/24
8.38.147.0/24
8.38.148.0/23
8.38.172.0/24
8.39.6.0/24
8.39.18.0/24
8.39.125.0/24
8.39.126.0/23
8.39.201.0/24
8.39.202.0/23
8.39.204.0/22
8.39.212.0/22
8.40.26.0/23
8.40.28.0/22
8.40.107.0/24
8.40.111.0/24
8.40.140.0/24
8.41.5.0/24
8.41.6.0/23
8.41.36.0/23
8.41.39.0/24
8.41.129.0/24
8.42.51.0/24
8.42.52.0/24
8.42.54.0/23
8.42.161.0/24
8.42.164.0/24
8.42.172.0/24
8.42.245.0/24
8.43.121.0/24
8.43.122.0/23
8.43.224.0/23
8.43.226.0/24
8.44.0.0/22
8.44.6.0/24
8.44.58.0/23
8.44.60.0/22
8.45.41.0/24
8.45.42.0/23
8.45.44.0/22
8.45.97.0/24
8.45.100.0/23
8.45.102.0/24
8.45.108.0/24
8.45.111.0/24
8.45.144.0/22
8.45.151.0/24
8.45.172.0/23
8.46.113.0/24
8.46.114.0/23
8.46.116.0/22
8.47.9.0/24
8.47.12.0/22
8.47.69.0/24
8.47.71.0/24
8.48.130.0/23
8.48.132.0/23
8.48.134.0/24
12.221.133.0/24
14.142.97.0/24
23.178.112.0/24
23.227.37.0/24
23.227.38.0/23
23.227.62.0/23
31.43.179.0/24
45.8.104.0/22
45.8.211.0/24
45.12.30.0/23
45.14.173.0/24
45.14.174.0/24
45.84.59.0/24
45.85.118.0/23
45.131.4.0/22
45.131.208.0/22
45.133.246.0/23
45.142.120.0/24
45.145.28.0/23
52.117.179.0/24
64.68.192.0/24
64.68.207.0/24
64.72.226.0/24
64.179.227.0/24
64.179.228.0/24
65.110.63.0/24
65.205.150.0/24
66.118.0.0/22
66.235.200.0/24
68.67.65.0/24
72.52.113.0/24
80.94.83.0/24
85.209.228.0/24
89.40.171.0/24
89.47.56.0/23
89.207.18.0/24
91.132.150.0/23
91.192.106.0/23
91.193.58.0/23
91.199.81.0/24
91.226.97.0/24
91.234.214.0/24
91.243.35.0/24
91.243.56.0/24
93.113.129.0/24
93.114.64.0/23
103.11.214.0/24
103.21.244.0/22
103.22.200.0/22
103.31.4.0/22
103.55.34.0/24
103.73.84.0/23
103.73.124.0/24
103.81.228.0/24
103.143.32.0/23
103.148.203.0/24
103.156.22.0/23
103.160.204.0/24
103.169.142.0/24
103.172.110.0/23
103.193.76.0/24
103.196.206.0/24
103.204.13.0/24
103.244.116.0/22
104.16.0.0/12
104.218.62.0/23
104.254.140.0/24
108.162.192.0/18
108.165.216.0/24
131.0.72.0/22
141.101.64.0/18
141.193.213.0/24
143.244.95.0/24
144.172.83.0/24
146.19.22.0/24
147.78.140.0/24
147.185.161.0/24
154.83.2.0/24
154.83.22.0/23
154.83.30.0/23
154.84.14.0/23
154.84.16.0/21
154.84.24.0/22
154.84.175.0/24
154.85.8.0/22
154.94.8.0/23
154.219.2.0/23
156.237.4.0/23
156.238.14.0/23
156.238.18.0/23
156.239.152.0/22
159.112.235.0/24
161.156.141.0/24
162.158.0.0/15
162.247.241.0/24
162.247.243.0/24
162.251.82.0/24
167.88.51.0/24
168.100.6.0/24
172.64.0.0/13
173.245.48.0/20
174.136.134.0/24
176.119.200.0/24
176.124.194.0/23
176.124.196.0/24
176.126.206.0/23
181.215.246.0/24
185.18.250.0/24
185.67.124.0/24
185.72.49.0/24
185.84.67.0/24
185.109.21.0/24
185.122.0.0/22
185.124.66.0/24
185.146.172.0/24
185.162.228.0/22
185.170.166.0/24
185.171.230.0/23
185.174.138.0/24
185.176.26.0/24
185.179.89.0/24
185.193.28.0/22
185.200.190.0/24
185.201.139.0/24
185.207.92.0/24
185.212.144.0/22
185.213.240.0/24
185.215.182.0/24
185.221.85.0/24
185.221.86.0/23
185.221.160.0/23
185.223.154.0/24
185.224.218.0/24
185.235.180.0/22
185.238.228.0/24
188.114.96.0/20
190.93.240.0/20
191.101.251.0/24
192.0.54.0/23
192.0.62.0/23
192.235.121.0/24
193.9.49.0/24
193.16.63.0/24
193.67.144.0/24
193.135.101.0/24
193.188.14.0/24
194.1.194.0/24
194.36.49.0/24
194.36.55.0/24
194.36.216.0/22
194.40.240.0/23
194.53.53.0/24
194.53.55.0/24
194.87.58.0/23
194.126.144.0/24
194.152.44.0/24
194.169.194.0/24
195.85.23.0/24
195.85.59.0/24
195.85.88.0/24
195.88.213.0/24
195.137.167.0/24
195.242.122.0/23
195.245.221.0/24
196.13.241.0/24
196.207.45.0/24
197.234.240.0/22
198.41.128.0/17
198.217.251.0/24
199.21.96.0/22
199.27.128.0/21
199.60.103.0/24
199.181.197.0/24
199.182.132.0/22
202.37.197.0/24
202.45.130.0/24
203.13.32.0/24
203.17.126.0/24
203.22.223.0/24
203.23.103.0/24
203.23.104.0/24
203.23.106.0/24
203.24.102.0/23
203.24.108.0/23
203.28.8.0/23
203.29.52.0/22
203.30.188.0/22
203.32.120.0/23
203.34.28.0/24
203.34.80.0/24
203.55.107.0/24
203.107.173.0/24
203.193.21.0/24
204.62.141.0/24
204.68.111.0/24
206.196.23.0/24
207.189.149.0/24
208.95.168.0/22
208.100.60.0/24
210.126.126.0/24
212.110.134.0/23
216.24.57.0/24' > Cloudflare/202202_02_cf-CIDRCollapsed.txt


 ##   Cloudflare's IPv6

 echo '2400:cb00::/32
2405:8100::/32
2405:b500::/32
2602:80a:6000::/44
2606:2c40::/48
2606:4700::/32
2606:54c0::/32
2606:ae80:10::/48
2620:78:200f::/48
2803:f800::/32
2a00:1c88:100::/48
2a05:7880::/32
2a06:98c0::/29
2a06:9ac0::/32
2a07:180::/32
2a09:bac0::/29
2a0f:9400:20::/47
2a0f:9400:22::/48
2c0f:f248::/32' > Cloudflare/202202_02_cf-IPv6-CIDRCollapsed.txt




 ##   GOOGLE
 ##   ------

 ##   Investigations show that this DIGITAL FEUDALIST uses the following
 ##     ASNs (see EXAMPLE INSTRUCTIONS to produce a list from ASNs):
 ##
 ##       TBC: it was discovered that AS54113 (Fastly) leases IP ranges to
 ##        Google and does not label them! Thus an investigation needs to be swiftly
 ##        performed so as to determine whether Fastly has over 1 million IPv4 and
 ##        thus qualify for blocking under DFCA Law.
 ##
 ##     AS15169
 ##     AS22577 (?)
 ##     AS22859
 ##     AS36039
 ##     AS36040
 ##     AS36384
 ##     AS36492 (involves SpaceX/Starlink)
 ##     AS41264 (incl Google IT)
 ##     AS43515
 ##     AS45566
 ##     AS394507
 ##     AS394639 (inactive, 0 CIDR, according to ipinfo.io/AS394639)
 ##     AS396982 (GCP, 'cloud' services)
 ##
 ##   A search at https://whois.arin.net/ reveals other IP Address ranges:
 ##
 ##     199.88.130.0 - 199.88.130.255 (199.88.130.0/24 Nothing at RADB.net!)
 ##     199.89.220.0 - 199.89.220.255 (199.89.220.0/24 Nothing at RADB.net!)
 ##     209.170.101.0/26   Google Canada Corporation (C07947606))	209.170.101.0 - 209.170.101.63  
 ##     209.170.101.64/26  Google Canada Corporation (C07947608)	209.170.101.64 - 209.170.101.127
 ##     209.170.110.128/26 Google Inc (C07016664) 			209.170.110.128 - 209.170.110.191
 ##     209.170.110.192/26 Google Inc (C07016674)			209.170.110.192 - 209.170.110.255
 ##     209.170.119.128/26 Google Inc (C07016667)			209.170.119.128 - 209.170.119.191
 ##     209.170.119.192/26 Google Inc (C07016669)			209.170.119.192 - 209.170.119.255
 ##     209.170.120.64/26  Google Inc (C07016670)	 		209.170.120.64 - 209.170.120.127
 ##     209.170.79.0/26    Google Ireland Limited (C08394094))		209.170.79.0 - 209.170.79.63
 ##     209.170.91.128/26  Google Inc. (C07290203))	 		209.170.91.128 - 209.170.91.191
 ##     209.95.149.128/26  Google LLC (C07860697)) 			209.95.149.128 - 209.95.149.191
 ##     50.220.163.152 - 50.220.163.159 (50.220.163.152/29)
 ##     50.220.163.160 - 50.220.163.167 (50.220.163.160/29)
 ##     50.220.179.216 - 50.220.179.223 (50.220.179.216/29)
 ##     50.220.179.224 - 50.220.179.231 (50.220.179.224/29)
 ##     70.90.219.48 - 70.90.219.55 (70.90.219.48/29)
 ##     70.90.219.72 - 70.90.219.79 (70.90.219.72/29)

 echo '1.179.112.0/20
2.57.16.0/24
5.183.8.0/22
5.183.79.0/24
8.6.48.0/21
8.8.4.0/24
8.8.  (OMITTED/SPLIT, as included in the DNS ONLY file above)  8.0/24
8.15.202.0/24
8.34.208.0/20
8.35.192.0/20
12.216.80.0/24
13.109.176.0/22
23.89.224.0/21
23.89.240.0/21
23.190.16.0/24
23.227.32.0/22
23.227.36.0/23
23.227.40.0/21
23.227.48.0/20
23.236.48.0/20
23.251.128.0/19
27.0.224.0/22
27.121.104.0/24
31.25.12.0/23
31.25.14.0/24
34.3.0.0/23
34.3.3.0/24
34.3.4.0/24
34.3.8.0/21
34.4.0.0/20
34.8.0.0/13
34.16.0.0/12
34.32.0.0/11
34.64.0.0/10
34.128.0.0/10
35.184.0.0/13
35.192.0.0/11
35.224.0.0/12
35.240.0.0/13
43.229.32.0/22
45.85.250.0/24
45.88.187.0/24
45.88.200.0/24
45.91.254.0/24
45.121.228.0/22
45.129.16.0/24
45.150.56.0/24
45.159.34.0/24
45.250.160.0/24
46.16.160.0/23
46.16.164.0/23
46.16.166.0/24
46.235.152.0/21
50.220.163.152/29
50.220.163.160/29
50.220.179.216/29
50.220.179.224/29
52.119.11.0/24
63.141.158.0/23
64.9.224.0/19
64.15.112.0/20
64.190.213.0/24
64.233.160.0/19
66.22.228.0/23
66.102.0.0/20
66.159.192.0/19
66.170.109.0/24
66.249.64.0/19
67.199.248.0/24
67.219.240.0/22
67.219.248.0/22
70.32.128.0/19
70.90.219.48/29
70.90.219.72/29
72.14.192.0/18
74.51.254.0/24
74.112.186.0/24
74.114.24.0/21
74.120.14.0/24
74.125.0.0/16
74.221.128.0/24
78.110.227.0/24
84.252.107.0/24
85.158.142.0/23
85.208.98.0/24
89.207.224.0/21
91.197.140.0/22
91.199.181.0/24
92.119.244.0/24
98.158.240.0/20
101.102.103.0/24
102.216.118.0/24
103.9.96.0/22
103.20.245.0/24
103.56.211.0/24
103.62.64.0/22
103.86.148.0/24
103.123.131.0/24
103.125.233.0/24
103.132.46.0/24
103.141.214.0/24
103.152.34.0/23
103.152.126.0/23
103.153.177.0/24
103.165.152.0/23
103.169.212.0/23
103.175.153.0/24
103.176.0.0/23
103.177.50.0/23
103.214.16.0/22
103.230.57.0/24
103.235.92.0/22
103.246.36.0/22
104.132.0.0/14
104.154.0.0/15
104.195.120.0/22
104.195.127.0/24
104.196.0.0/14
104.237.160.0/19
107.167.160.0/19
107.178.192.0/18
108.59.80.0/20
108.170.192.0/18
108.177.0.0/17
109.68.56.0/21
109.95.124.0/22
109.235.99.0/24
110.44.6.0/24
113.197.104.0/22
114.141.120.0/21
117.120.16.0/21
117.121.247.0/24
130.41.0.0/17
130.41.160.0/19
130.211.0.0/16
132.75.96.0/24
134.195.26.0/23
134.238.0.0/16
135.84.69.0/24
135.84.70.0/24
135.84.78.0/24
135.129.112.0/20
135.129.240.0/20
136.22.64.0/18
136.22.128.0/19
136.22.192.0/18
136.23.0.0/18
136.112.0.0/12
136.146.52.0/22
137.83.213.0/24
137.83.215.0/24
137.83.216.0/21
137.83.224.0/20
137.83.240.0/21
137.83.248.0/23
137.83.250.0/24
139.138.96.0/24
141.202.0.0/20
141.202.254.0/24
142.147.14.0/24
142.250.0.0/15
143.131.0.0/20
144.48.35.0/24
144.49.96.0/19
144.49.128.0/17
144.86.173.0/24
145.224.116.0/22
145.224.120.0/21
146.66.121.0/24
146.66.122.0/23
146.148.0.0/17
147.124.190.0/23
147.146.240.0/20
147.189.238.0/23
148.64.0.0/19
148.80.64.0/22
149.19.160.0/22
149.77.121.0/24
154.16.136.0/24
155.184.0.0/19
156.93.224.0/23
158.51.129.0/24
159.192.27.0/24
161.38.56.0/23
161.38.58.0/24
162.43.192.0/22
162.216.148.0/22
162.222.78.0/23
162.222.176.0/21
162.240.198.0/23
162.247.96.0/21
162.247.196.0/24
162.251.20.0/22
164.163.191.32/27
165.1.128.0/19
165.1.172.0/22
165.1.176.0/20
165.1.192.0/18
166.73.4.0/23
167.162.132.0/22
168.100.24.0/22
168.149.128.0/18
168.232.71.0/24
168.235.234.0/24
170.10.143.0/24
170.10.222.0/24
170.176.240.0/21
171.22.117.0/24
172.98.49.0/24
172.102.8.0/21
172.110.32.0/21
172.217.0.0/16
172.253.0.0/16
173.194.0.0/16
173.255.112.0/20
176.116.124.0/23
179.61.76.0/24
185.14.172.0/24
185.25.28.0/22
185.27.144.0/22
185.30.22.0/24
185.30.28.0/22
185.38.196.0/22
185.46.233.0/24
185.56.84.0/22
185.73.224.0/24
185.76.36.0/24
185.88.148.0/22
185.92.208.0/24
185.94.240.0/22
185.110.98.0/24
185.115.166.0/24
185.124.96.0/24
185.143.238.0/24
185.145.247.0/24
185.146.172.0/22
185.150.148.0/22
185.168.204.0/24
185.180.48.0/22
185.180.142.0/24
185.188.93.0/24
185.191.171.0/24
185.192.58.0/23
185.192.248.0/26
185.192.249.0/24
185.192.251.192/26
185.197.148.0/24
185.207.237.0/24
185.225.161.0/24
185.241.47.0/24
185.245.182.0/24
185.249.220.0/24
188.92.121.0/24
188.92.122.0/23
188.92.136.0/23
188.95.144.0/23
192.30.55.0/24
192.34.32.0/23
192.104.160.0/23
192.119.28.0/24
192.158.28.0/22
192.177.97.0/24
192.178.0.0/15
192.187.26.0/23
192.200.190.0/23
193.73.208.0/24
193.104.196.0/24
193.109.254.0/24
193.151.72.0/22
193.177.222.0/24
193.186.4.0/24
193.200.222.0/24
193.238.80.0/22
194.38.4.0/22
194.88.156.0/23
194.122.80.0/22
194.187.56.0/22
195.10.199.0/24
195.149.126.0/24
195.245.230.0/23
198.135.124.0/23
198.135.184.0/24
198.235.24.0/24
199.19.248.0/21
199.36.154.0/23
199.36.156.0/23
199.47.186.0/23
199.88.130.0/24
199.89.220.0/24
199.91.151.0/24
199.116.168.0/21
199.166.212.0/24
199.182.132.0/22
199.192.112.0/22
199.223.232.0/21
199.247.32.0/20
199.250.249.0/24
202.14.19.0/24
202.90.34.0/24
202.92.199.0/24
202.250.28.0/24
204.48.8.0/21
204.62.215.0/24
204.138.99.0/24
205.174.156.0/23
205.210.31.0/24
206.83.127.0/24
206.204.104.0/24
206.214.224.0/20
207.126.144.0/20
207.154.144.0/22
207.223.160.0/20
207.251.96.0/24
208.56.24.0/24
208.56.32.0/23
208.56.34.0/24
208.56.38.0/24
208.65.152.0/22
208.67.156.0/22
208.68.108.0/22
208.74.139.0/24
208.76.68.0/22
208.76.215.0/24
208.80.95.0/24
208.81.188.0/22
208.86.170.0/23
208.87.172.0/22
208.92.200.0/22
208.117.224.0/19
208.127.0.0/17
208.127.128.0/18
208.127.192.0/21
208.127.208.0/20
208.127.224.0/19
209.85.128.0/17
209.95.128.0/19
209.107.176.0/20
209.170.79.0/26
209.170.91.128/26
209.170.101.0/25
209.170.110.128/25
209.170.119.128/25
209.170.120.64/26
209.188.98.0/24
209.209.125.0/24
212.11.79.0/24
212.11.93.0/24
212.104.209.0/24
213.232.238.0/24
216.58.192.0/19
216.73.80.0/20
216.120.146.0/23
216.239.32.0/19
216.252.220.0/22
217.65.136.0/21
217.77.229.0/24
217.169.118.0/24
223.29.216.0/22' > Google/202206_02_goog-CIDRCollapsed.txt


 ##   Google's IPv6

 echo '2001:559:8578::/48
2001:559:858f::/48
2001:1900:2292::/48
2001:4860::/32
2401:fa00::/32
2404:6800::/32
2404:f340::/32
2406:2d40::/32
2600:1900::/28
2604:31c0::/32
2604:ca00::/32
2605:59c0::/28
2605:ef80::/32
2606:40::/32
2606:73c0::/32
2607:f8b0::/32
2607:fdc0:11::/48
2620:0:1000::/40
2620:33:c000::/48
2620:98:e005::/48
2620:e7:4000::/48
2620:e7:c000::/48
2620:11a:a000::/40
2620:120:e000::/40
2620:15c::/36
2800:3f0::/32
2803:9810::/35
2a00:1450::/32
2a00:1588:d801::/48
2a00:1588:d802::/48
2a00:79e0::/31
2a02:2978:2000:3::/64
2a02:2978:2000:4::/62
2a02:2978:2000:10::/63
2a02:2978:ff04:300::/64
2a02:2978:ff04:400::/64
2a02:2978:ff04:500::/64
2a02:2978:ff04:600::/64
2a02:2978:ff04:700::/64
2a02:2978:ff04:800::/64
2a03:ace0::/32
2a0d:3340::/29
2a0f:f4c1:2::/48
2c0f:fb50::/32' > Google/202206_02_goog-IPv6-CIDRCollapsed.txt



 ##   MICROSOFT
 ##   ---------

 ##   Investigations show that this DIGITAL FEUDALIST uses the following
 ##     ASNs (see EXAMPLE INSTRUCTIONS to produce a list from ASNs):
 ##
 ##     AS3598 (M'soft Corporate, M'soft Singapore,)
 ##     AS6182 (?)
 ##     AS8068 (M'soft Edge)
 ##     AS8069
 ##     AS8070 (M'soft Federal)
 ##     AS8072 (?)
 ##     AS8075
 ##     AS8812 (Temp Object)
 ##     AS13811 (?)
 ##     AS20046 (?)
 ##     AS23468 (Xbox)
 ##     AS26222 (?)
 ##     AS36459 (github)
 ##     AS62540 (Drake Holdings?)
 ##
 ##   One starting point for any investigation is the IP Ranges published
 ##     by the FEUDALIST itself at
 ##     https://www.microsoft.com/en-us/download/confirmation.aspx?id=53602 .
 ##     Another resource is the 'Goodbye Big Five' firewall project, weirdly
 ##     hosted on gitHub at https://github.com/dmehrotra/GoodbyeBigFive

 echo '4.128.0.0/9
13.64.0.0/11
13.96.0.0/13
13.104.0.0/14
20.0.0.0/11
20.33.0.0/16
20.34.0.0/15
20.36.0.0/14
20.40.0.0/13
20.48.0.0/12
20.64.0.0/10
20.128.0.0/16
20.130.0.0/16
20.135.0.0/16
20.136.0.0/16
20.140.0.0/15
20.143.0.0/16
20.144.0.0/14
20.150.0.0/15
20.152.0.0/15
20.157.0.0/16
20.158.0.0/15
20.160.0.0/11
20.192.0.0/10
23.96.0.0/13
23.247.138.0/23
40.64.0.0/10
42.159.0.0/16
50.114.38.0/24
51.4.0.0/15
51.8.0.0/16
51.10.0.0/15
51.12.0.0/15
51.18.0.0/16
51.51.0.0/16
51.53.0.0/16
51.103.0.0/16
51.104.0.0/15
51.107.0.0/16
51.116.0.0/16
51.120.0.0/16
51.124.0.0/16
51.132.0.0/16
51.136.0.0/15
51.138.0.0/16
51.140.0.0/14
51.144.0.0/15
52.96.0.0/12
52.112.0.0/14
52.120.0.0/14
52.125.0.0/16
52.126.0.0/15
52.130.0.0/15
52.132.0.0/14
52.136.0.0/13
52.145.0.0/16
52.146.0.0/15
52.148.0.0/14
52.152.0.0/13
52.160.0.0/11
52.224.0.0/11
64.4.0.0/18
65.52.0.0/14
66.119.144.0/20
68.18.0.0/15
68.154.0.0/15
68.210.0.0/15
68.218.0.0/15
68.220.0.0/15
70.37.0.0/17
70.37.128.0/18
70.152.0.0/15
70.156.0.0/15
72.18.78.0/24
72.144.0.0/14
72.152.0.0/14
74.160.0.0/14
74.176.0.0/14
74.200.130.0/24
74.224.0.0/14
74.234.0.0/15
74.240.0.0/14
74.248.0.0/15
91.190.216.0/21
91.216.184.0/24
91.225.248.0/23
94.245.64.0/18
98.64.0.0/14
98.70.0.0/15
102.37.0.0/16
102.133.0.0/16
103.9.8.0/22
103.25.156.0/22
103.36.96.0/22
103.249.62.0/23
103.255.140.0/22
104.40.0.0/13
104.146.0.0/15
104.208.0.0/13
108.140.0.0/14
111.221.16.0/20
111.221.64.0/18
113.197.65.0/24
113.197.67.0/24
128.94.0.0/16
129.75.0.0/16
131.107.0.0/16
131.253.1.0/24
131.253.3.0/24
131.253.5.0/24
131.253.6.0/24
131.253.8.0/24
131.253.12.0/22
131.253.16.0/23
131.253.18.0/24
131.253.21.0/24
131.253.22.0/23
131.253.24.0/21
131.253.32.0/20
131.253.61.0/24
131.253.62.0/23
131.253.64.0/18
131.253.128.0/17
132.245.0.0/16
134.170.0.0/16
134.177.0.0/16
135.149.0.0/16
137.116.0.0/15
137.135.0.0/16
138.91.0.0/16
138.196.0.0/16
138.239.0.0/16
139.217.0.0/16
139.219.0.0/16
140.82.112.0/20
141.251.0.0/16
142.0.188.0/24
143.55.64.0/20
143.64.0.0/16
143.135.0.0/16
146.147.0.0/16
147.145.0.0/16
147.243.0.0/16
148.7.0.0/16
150.171.0.0/16
150.242.48.0/22
155.62.0.0/16
157.54.0.0/15
157.56.0.0/14
157.60.0.0/16
158.23.0.0/16
158.158.0.0/16
159.27.0.0/16
163.228.0.0/16
167.105.0.0/16
167.220.0.0/16
168.61.0.0/16
168.62.0.0/15
169.138.0.0/16
170.114.39.0/24
170.165.0.0/16
178.255.242.0/24
185.199.108.0/22
185.209.208.0/23
185.236.124.0/22
191.232.0.0/13
192.26.25.0/24
192.30.252.0/22
192.31.212.0/23
192.32.0.0/16
192.40.79.0/24
192.43.175.0/24
192.43.176.0/21
192.43.184.0/24
192.48.225.0/24
192.84.159.0/24
192.84.160.0/23
192.92.196.0/24
192.100.104.0/21
192.100.112.0/20
192.100.128.0/22
192.197.157.0/24
192.237.67.0/24
193.149.64.0/19
193.221.113.0/24
194.41.16.0/20
194.69.96.0/19
194.110.197.0/24
195.105.26.0/23
195.114.140.0/24
195.134.224.0/19
198.8.73.0/24
198.49.8.0/24
198.105.232.0/22
198.137.97.0/24
198.180.74.0/23
198.180.95.0/24
198.180.96.0/23
198.200.130.0/24
198.206.164.0/24
199.2.137.0/24
199.30.16.0/20
199.60.28.0/24
199.65.28.0/24
199.74.210.0/24
199.103.90.0/23
199.103.122.0/24
199.242.32.0/20
199.242.48.0/21
202.89.224.0/20
204.13.120.0/21
204.14.180.0/22
204.79.135.0/24
204.79.179.0/24
204.79.180.0/23
204.79.188.0/24
204.79.195.0/24
204.79.196.0/23
204.79.252.0/24
204.95.96.0/20
204.140.80.0/24
204.152.18.0/23
204.152.140.0/23
204.182.144.0/24
204.231.192.0/24
204.231.194.0/23
204.231.197.0/24
204.231.198.0/23
204.231.200.0/21
204.231.208.0/20
204.231.236.0/24
204.255.244.0/23
205.174.224.0/20
206.138.168.0/21
206.191.224.0/19
207.46.0.0/16
207.68.128.0/18
207.157.38.0/24
207.157.40.0/24
208.68.136.0/21
208.76.44.0/22
208.84.0.0/21
209.185.240.0/23
209.240.192.0/19
212.46.57.0/24
213.199.128.0/18
216.32.180.0/22
216.220.208.0/20' > Microsoft/202206_02_msft-CIDRCollapsed.txt


 ##   Microsoft's IPv6

 echo '2001:67c:1020::/47
2001:df0:7::/48
2001:df0:d7::/48
2001:df0:d8::/47
2001:4898::/32
2001:489a:2000::/35
2001:489a:4000::/35
2404:f800::/31
2602:fd5e::/36
2603:1000::/24
2620:0:30::/45
2620:112:3000::/44
2620:1ec::/36
2801:80:1d0::/48
2a01:110::/31
2a01:4180::/32
2a0a:a440::/29' > Microsoft/202206_02_msft-IPv6-CIDRCollapsed.txt



 ##   ORACLE
 ##   ------

 ##   Investigations show that this DIGITAL FEUDALIST uses the following
 ##     ASNs (see EXAMPLE INSTRUCTIONS to produce a list from ASNs):
 ##
 ##     AS792
 ##     AS1215
 ##     AS1216
 ##     AS1217
 ##     AS31898


 echo '23.190.16.0/24
23.239.228.0/22
23.239.232.0/23
23.239.236.0/23
45.42.180.0/24
64.39.106.0/24
65.20.63.0/24
67.217.93.0/24
68.64.2.0/23
68.64.6.0/23
68.64.16.0/24
68.64.21.0/24
68.64.31.0/24
68.233.84.0/22
68.233.96.0/19
69.168.108.0/24
74.81.189.0/24
91.223.237.0/24
103.63.102.0/24
103.81.184.0/22
103.167.28.0/24
108.59.160.0/21
108.59.168.0/22
108.59.172.0/23
129.80.0.0/16
129.146.0.0/21
129.146.8.0/22
129.146.12.0/23
129.146.14.0/24
129.146.16.0/20
129.146.32.0/19
129.146.64.0/18
129.146.128.0/17
129.148.0.0/17
129.148.128.0/19
129.148.160.0/20
129.148.176.0/21
129.148.184.0/22
129.148.192.0/18
129.149.0.0/20
129.149.16.0/21
129.149.28.0/22
129.149.32.0/21
129.149.48.0/20
129.149.64.0/21
129.149.80.0/21
129.149.96.0/21
129.149.112.0/20
129.150.15.0/24
129.150.32.0/19
129.151.0.0/16
129.152.0.0/19
129.153.0.0/17
129.153.128.0/18
129.153.192.0/19
129.153.224.0/20
129.153.240.0/21
129.154.32.0/19
129.154.192.0/18
129.155.0.0/18
129.157.64.0/19
129.158.32.0/19
129.158.192.0/18
129.159.0.0/16
129.213.0.0/17
129.213.128.0/18
129.213.192.0/20
129.213.208.0/21
129.213.232.0/24
129.213.234.0/23
129.213.236.0/23
129.213.239.0/24
130.35.0.0/19
130.35.48.0/20
130.35.64.0/18
130.35.128.0/19
130.35.176.0/20
130.35.192.0/18
130.61.0.0/16
130.162.32.0/19
130.162.92.0/23
130.162.128.0/18
130.162.192.0/21
130.162.208.0/20
130.162.224.0/19
131.186.0.0/19
131.186.32.0/20
131.186.56.0/21
132.145.0.0/16
132.226.0.0/17
132.226.128.0/21
132.226.144.0/20
132.226.160.0/19
132.226.192.0/18
134.70.8.0/21
134.70.16.0/22
134.70.24.0/21
134.70.32.0/22
134.70.40.0/21
134.70.48.0/22
134.70.56.0/21
134.70.64.0/22
134.70.72.0/21
134.70.80.0/20
134.70.96.0/19
134.70.128.0/18
134.70.192.0/21
134.217.129.0/24
134.217.161.0/24
136.228.15.0/24
136.228.16.0/24
137.254.0.0/16
138.1.0.0/16
138.2.0.0/17
138.2.128.0/18
138.2.192.0/19
138.2.224.0/20
138.2.240.0/21
138.3.64.0/18
138.3.196.0/22
138.3.200.0/23
138.3.202.0/24
138.3.205.0/24
138.3.208.0/20
138.3.240.0/20
139.177.251.0/24
139.185.32.0/19
140.83.32.0/19
140.83.80.0/21
140.83.89.0/24
140.83.94.0/24
140.84.160.0/19
140.86.192.0/19
140.91.4.0/22
140.91.8.0/21
140.91.16.0/20
140.91.32.0/19
140.91.64.0/20
140.91.80.0/21
140.91.88.0/23
140.91.194.0/23
140.91.196.0/22
140.91.200.0/21
140.91.208.0/21
140.91.218.0/23
140.91.220.0/22
140.91.224.0/19
140.204.0.0/20
140.204.16.0/21
140.204.24.0/22
140.204.30.0/23
140.204.32.0/19
140.204.64.0/21
140.204.72.0/23
140.204.76.0/22
140.204.80.0/20
140.204.96.0/19
140.204.128.0/22
140.204.192.0/20
140.204.208.0/21
140.238.0.0/16
141.144.192.0/18
141.145.10.0/23
141.145.12.0/22
141.145.192.0/19
141.146.0.0/15
141.148.0.0/18
141.148.64.0/19
141.148.128.0/17
143.47.28.0/23
143.47.32.0/19
143.47.96.0/19
143.47.176.0/20
143.47.224.0/19
144.21.32.0/19
144.22.32.0/19
144.22.128.0/17
144.24.0.0/16
144.25.0.0/17
146.56.32.0/20
146.56.48.0/21
146.56.96.0/20
146.56.112.0/21
146.56.120.0/22
146.56.128.0/18
147.154.0.0/18
147.154.64.0/20
147.154.80.0/21
147.154.96.0/19
147.154.128.0/18
147.154.192.0/20
147.154.208.0/21
147.154.224.0/19
148.87.0.0/17
150.136.0.0/16
150.230.0.0/20
150.230.20.0/22
150.230.24.0/21
150.230.32.0/19
150.230.64.0/18
150.230.128.0/17
151.104.64.0/24
151.104.224.0/19
152.67.0.0/16
152.69.160.0/19
152.69.192.0/19
152.69.224.0/20
152.70.0.0/16
155.248.128.0/20
155.248.144.0/21
155.248.160.0/19
155.248.192.0/20
155.248.208.0/21
155.248.224.0/19
156.151.0.0/17
156.151.128.0/18
158.101.0.0/16
158.120.16.0/24
158.120.18.0/24
158.120.20.0/24
158.229.32.0/24
160.34.115.0/24
160.34.172.0/24
162.88.4.0/23
162.88.8.0/24
162.88.24.0/24
162.88.29.0/24
162.88.36.0/24
162.142.76.0/24
162.248.176.0/24
162.253.82.0/23
168.138.0.0/16
170.114.51.0/24
170.114.102.0/23
170.114.104.0/21
170.114.112.0/21
170.114.120.0/23
172.82.61.0/24
173.199.10.0/24
173.199.28.0/24
173.199.48.0/23
185.192.56.0/22
185.254.18.0/24
192.9.128.0/18
192.9.224.0/19
192.18.128.0/19
192.18.200.0/21
192.18.220.0/22
192.29.0.0/16
192.94.219.0/24
192.152.161.0/24
192.188.170.0/24
192.206.43.0/24
193.122.0.0/15
193.227.135.0/24
198.17.70.0/24
198.17.210.0/24
198.51.38.0/24
198.181.54.0/23
199.175.41.0/24
202.144.196.0/22
203.190.180.0/24
204.153.12.0/22
205.147.88.0/23
207.127.108.0/23
207.135.0.0/20
207.135.16.0/22
207.135.20.0/23
207.135.24.0/21
208.76.62.0/23
208.76.120.0/24
208.76.122.0/24
208.76.125.0/24
208.76.126.0/23
208.78.68.0/24
209.17.0.0/20
209.17.40.0/24
209.17.60.0/22
216.146.32.0/23
216.146.35.0/24
216.146.36.0/24' > Oracle/202302_02_orac-CIDRCollapsed.txt


 ##   Oracle's IPv6

 echo '2405:ba00:8004::/48
2600:2000:2100::/42
2600:2000:2200::/42
2600:2000:2240::/43
2600:2003::/48
2602:fdaa:20::/48
2603:c000::/35
2603:c000:2000::/39
2603:c001::/34
2603:c001:4000::/38
2603:c002::/37
2603:c002:800::/39
2603:c002:a00::/43
2603:c002:b00::/40
2603:c002:c00::/38
2603:c002:1000::/36
2603:c002:2000::/39
2603:c002:8000::/35
2603:c002:a000::/39
2603:c010::/36
2603:c010:2000::/36
2603:c010:4000::/36
2603:c010:6000::/36
2603:c010:8000::/36
2603:c010:a000::/36
2603:c010:c000::/36
2603:c010:e000::/36
2603:c011::/36
2603:c011:2000::/36
2603:c011:4000::/36
2603:c011:6000::/36
2603:c011:8000::/36
2603:c011:a000::/36
2603:c011:c000::/36
2603:c011:e000::/36
2603:c012::/36
2603:c012:2000::/36
2603:c012:4000::/36
2603:c012:6000::/36
2603:c012:8000::/36
2603:c012:a000::/36
2603:c012:c000::/36
2603:c012:e000::/36
2603:c013::/36
2603:c013:2000::/36
2603:c013:4000::/36
2603:c013:6000::/36
2603:c013:8000::/36
2603:c013:a000::/36
2603:c013:c000::/36
2603:c013:e000::/36
2603:c014::/36
2603:c014:2000::/36
2603:c020::/35
2603:c020:4000::/35
2603:c020:8000::/35
2603:c020:c000::/35
2603:c021::/35
2603:c021:4000::/35
2603:c021:8000::/35
2603:c021:c000::/35
2603:c022::/35
2603:c022:4000::/35
2603:c022:8000::/35
2603:c022:c000::/35
2603:c023::/35
2603:c023:4000::/35
2603:c023:8000::/35
2603:c023:c000::/35
2603:c024::/35
2603:c024:4000::/35
2603:c024:8000::/35
2603:c024:c000::/35
2603:c025::/35
2603:c025:4000::/35
2603:c025:8000::/35
2603:c025:c000::/35
2603:c026::/35
2603:c026:4000::/35
2603:c026:8000::/35
2603:c026:c000::/35
2603:c027::/35
2603:c027:4000::/35
2603:c027:8000::/35
2603:c027:c000::/35
2603:c028::/35
2603:c028:4000::/35
2606:b400:8000::/47
2606:b400:8004::/48
2606:b400:8006::/48
2606:b400:800c::/48
2606:b400:8012::/48
2606:b400:8018::/48
2606:b400:8024::/48
2606:b400:8301::/48
2620:123:208b::/48
2620:123:208c::/48
2a09:a447:ac1e::/48' > Oracle/202302_02_orac-IPv6-CIDRCollapsed.txt



 ##   SPACEX
 ##   ------

 ##   Investigations show that this DIGITAL FEUDALIST uses the following
 ##     ASNs (see EXAMPLE INSTRUCTIONS to produce a list from ASNs):
 ##
 ##     AS4764 (!!!only 1 prefix for tesla engineering group in this ASN!!!)
 ##     AS7545 (!!!only 1 prefix for tesla engineering group in this ASN!!!)
 ##     AS13454 (twitter)
 ##     AS14593 (starlink, spacex)
 ##     AS17536 (!!!only 1 prefix for tesla engineering group in this ASN!!!)
 ##     AS18196 (starlink, spacex, incl india? 103.171..)
 #     AS34602 (starlink)
 ##     AS35995 (twitter)
 ##     Not AS36492 (see google)
 ##     AS49854 (starlink russia)
 ##     AS50494 (starlink ukraine)
 ##     AS204791 (starlink crimea)
 ##     AS264228 (starlink/blink brazil)
 ##     AS394161 (tesla)
 ##     AS394363 (tesla)
 ##     AS394943 (tesla)


 echo '8.21.14.0/24
8.25.194.0/23
8.25.196.0/23
8.45.124.0/24
8.47.24.0/24
8.244.0.0/14
12.0.0.0/8
31.40.130.0/24
31.130.128.0/19
45.146.40.0/24
45.151.60.0/22
62.67.197.0/24
64.63.0.0/18
65.181.0.0/19
69.195.160.0/24
69.195.162.0/23
69.195.164.0/23
69.195.166.0/24
69.195.168.0/23
69.195.171.0/24
69.195.172.0/24
69.195.174.0/23
69.195.176.0/23
69.195.179.0/24
69.195.180.0/22
69.195.184.0/22
77.50.0.0/16
77.233.192.0/19
77.243.96.0/20
81.17.144.0/20
83.150.204.0/24
91.102.180.0/22
91.204.128.0/22
91.221.43.0/24
94.141.160.0/19
98.97.0.0/18
98.97.64.0/21
98.97.72.0/22
98.97.76.0/23
98.97.80.0/20
98.97.96.0/19
98.97.128.0/18
102.215.56.0/23
102.215.58.0/24
103.152.126.0/23
103.171.118.0/24
103.235.92.0/22
103.252.112.0/22
104.244.40.0/23
104.244.42.0/24
104.244.44.0/22
113.29.1.176/30
113.29.105.136/30
129.222.0.0/16
135.129.0.0/18
135.129.120.0/23
138.84.32.0/19
143.131.0.0/20
145.224.64.0/18
149.19.108.0/23
149.19.164.0/22
149.19.168.0/21
149.106.192.0/19
162.43.192.0/22
168.195.100.0/22
169.155.224.0/19
170.203.64.0/19
170.203.192.0/19
176.116.124.0/23
177.55.224.0/20
185.45.4.0/22
185.135.182.0/24
185.185.140.0/22
188.64.224.0/21
188.92.248.0/21
188.95.144.0/23
190.109.64.0/22
192.44.69.0/24
192.95.64.0/24
192.133.76.0/22
193.105.70.0/24
198.54.100.0/22
199.16.156.0/22
199.43.255.0/24
199.59.148.0/22
199.66.8.0/22
199.96.56.0/21
199.120.32.0/20
199.120.48.0/21
199.120.56.0/23
202.160.128.0/22
203.31.23.0/24
204.48.8.0/24
205.234.11.0/24
206.83.96.0/19
206.214.224.0/20
206.224.64.0/20
206.224.80.0/21
206.224.88.0/22
206.224.95.0/24
207.140.0.0/15
209.133.79.0/24
209.198.128.0/21
209.198.136.0/23
209.198.138.0/24
209.198.140.0/23
209.237.192.0/21
209.237.200.0/22
209.237.220.0/23
209.237.222.0/24
213.19.141.0/24
213.244.145.0/24
216.128.0.0/19
216.147.120.0/21
217.65.136.0/21' > SpaceX/202302_02_spacex-CIDRCollapsed.txt


 ##   SpaceX's IPv6

 echo '2400:6680:f000::/36
2406:2d40:3000::/36
2406:2d40:4000::/35
2406:2d40:6000::/36
2406:2d40:7000::/38
2406:2d40:8000::/36
2605:59c8::/29
2606:1f80:f000::/36
2620:134:b000::/40
2620:137:d000::/40
2803:9810::/32
2804:2488::/32
2a00:e78::/33
2a00:e79::/32
2a00:e7a::/31
2a04:9d40:f000::/36
2a0d:3344::/35
2a0d:3344:2000::/36
2c0f:2a80::/36' > SpaceX/202302_02_spacex-IPv6-CIDRCollapsed.txt



 ##   TENCENT
 ##   -------

 ##   Investigations show that this DIGITAL FEUDALIST uses the following
 ##     ASNs (see EXAMPLE INSTRUCTIONS to produce a list from ASNs):
 ##
 ##     AS45090 (over 6 million IPv4)


 echo '1.12.0.0/14
1.116.0.0/15
42.187.128.0/17
42.192.0.0/15
42.194.128.0/17
43.136.0.0/13
43.144.0.0/15
43.176.0.0/12
43.242.252.0/22
43.247.196.0/22
45.40.192.0/18
49.232.0.0/14
58.87.64.0/18
62.234.0.0/16
81.68.0.0/14
82.156.0.0/15
94.191.0.0/17
101.33.128.0/17
101.34.0.0/15
101.42.0.0/15
103.38.116.0/22
103.238.16.0/22
106.52.0.0/14
109.244.0.0/16
110.40.128.0/17
110.42.128.0/17
111.30.128.0/21
111.30.136.0/24
111.30.139.0/24
111.30.140.0/23
111.229.0.0/16
111.230.0.0/15
114.117.0.0/16
114.132.0.0/16
115.159.0.0/16
118.24.0.0/15
118.89.0.0/16
118.126.64.0/18
118.195.128.0/17
119.27.160.0/19
119.28.28.0/24
119.29.0.0/16
119.45.0.0/16
119.91.0.0/16
120.53.0.0/16
121.4.0.0/15
121.51.0.0/16
122.51.0.0/16
122.152.192.0/18
123.206.0.0/15
124.220.0.0/14
128.108.0.0/16
129.28.0.0/16
129.204.0.0/16
129.211.0.0/16
132.232.0.0/16
134.175.0.0/16
139.155.0.0/16
139.186.0.0/16
139.199.0.0/16
140.143.0.0/16
146.56.192.0/18
148.70.0.0/16
150.158.0.0/16
152.136.0.0/16
154.8.128.0/17
159.75.0.0/16
162.14.0.0/16
172.81.192.0/18
175.24.0.0/16
175.27.0.0/16
175.178.0.0/16
182.254.0.0/16
188.131.128.0/17
192.144.128.0/17
193.112.0.0/16
203.195.128.0/17
203.205.128.0/17
210.73.160.0/19
211.159.128.0/17
212.64.0.0/17
212.129.128.0/17' > Tencent/202305_02_tenc-CIDRCollapsed.txt


 ##   Tencent's IPv6

 echo '2402:4e00::/32' > Tencent/202305_02_tenc-IPv6-CIDRCollapsed.txt



 ##   YANDEX
 ##   ------

 ##   The number of IPv4 do not exceed 1 million (20bits) but more closely
 ##     approximate 100,000. Thus they cannot be blocked under DFCA INTERNET
 ##     LAW (2022). PARTICIPANTS are advised to remain vigilant.
 ##
 ##   Investigations show that this entity uses the following ASNs (see 
 ##     EXAMPLE INSTRUCTIONS to produce a list from ASNs):
 ##
 ##     AS13238
 ##     AS210656 (?)
 ##

# echo '5.45.192.0/18
5.255.192.0/18
37.9.64.0/18
37.140.128.0/18
45.87.132.0/22
45.133.98.0/24
46.243.144.0/22
51.250.0.0/17
62.84.112.0/20
77.88.0.0/18
84.201.128.0/18
84.252.128.0/20
84.252.160.0/19
87.250.224.0/19
90.156.176.0/23
90.156.178.0/24
93.158.128.0/18
95.108.128.0/17
100.43.64.0/19
130.193.32.0/19
141.8.128.0/18
178.154.128.0/17
185.32.185.0/24
185.32.186.0/23
185.206.164.0/22
193.32.216.0/22
199.21.96.0/22
199.36.240.0/22
213.180.192.0/19
217.28.224.0/20' > Yandex/202203_02_yand-CIDRCollapsed.txt


 ##   Yandex' IPv6

# echo '2001:678:384::/48
2001:978:7401::/48
2620:10f:d000::/44
2a02:6b8::/29
2a0d:d6c0::/29
2a0e:fd80::/29' > Yandex/202203_02_yand-IPv6-CIDRCollapsed.txt









 ##   Use the firewall (iptables)
 ##   ---------------------------
 ##   To block the offending DIGITAL FEUDALISTS, 'iptables' will be used to
 ##     interface with 'ufw' (Universal Firewall). An
 ##     nftables version is yet to be produced.

 ##   The following must be done as a [su]per user (ie. administrator). In a
 ##     terminal type the following and a password will be needed:
sudo su

 ##   Again, go to correct folder - `who' with `sed' extracts your logged-in
 ##     name otherwise it will try to enter the *root* home folder, which won't
 ##     work because that folder was never made.
 ##   Another popular way to do this is with the `cut' command but on this
 ##     occasion `sed' is shortest. It basically means [s]earch to "[g]reedy
 ##     end" for a [ ] space and [.*] everything after that and replace that
 ##     with nothing (ie. inside the 'replacement' section (between '//'),
 ##     there's nothing).
cd /home/$(who | sed 's/ .*//g')/.law-DFCA/

 ##   Switch on and enable iptables at startup.
sudo systemctl   start iptables         # IPv4, and
sudo systemctl   start ip6tables        # IPv6 
sudo systemctl  enable iptables
sudo systemctl  enable ip6tables

 ##   You can use the following command to [L]ist what exists in your firewall 
 ##     setup. The below lists the IP address [n]umbers and doesn't seek to 
 ##     convert those numbers into human-readable domain names, if you wish to 
 ##     see domain names, remove the -n:
sudo iptables -L -n

 ##   The same but show line numbers (helpful when editing).
sudo iptables -L -n --line-numbers

 ##   You may have some rules already in your table, eg. Tor Transparent Proxy
 ##     or other such rules that you've configured previously with the following
 ##     command, and it should be known that this DFCA Law seeks to be compatible
 ##     with anything in your firewall, but it might fail

 ##   There are two ways to add rules to iptables, [A]dd or [I]nsert.

 ##   [A]dd places rules at the end of the table whereas [I]nsert can place a
 ##     rule at a precise position in the table, and if a position isn't specified
 ##     it inserts the rule at the start.

 ##   Therefore to maximise compatibility with whatever exists in your current
 ##     chain, [I]nsert will be used *in reverse order* such that the least
 ##     common DIGITAL FEUDALIST will be added first.

 ##   Rules in 'iptables' are easy to understand once you start reading them. An
 ##     example of an [I]nsert command is below. Don't use it but it would
 ##     [I]nsert a rule (at the top of the chain) to [j]ump to [ACCEPT] [INPUT]
 ##     from something using the [tcp] [p]rotocol to your [ssh] [d]estination [port]
 ##     (port number 22).
# sudo iptables -I INPUT -p tcp --dport ssh -j ACCEPT

 ##   In the above example you could use an exact port number (eg. 22) rather than
 ##     use the common classifier, 'ssh' for 'secure shell'. This next example
 ##     allows access to an HTTP server that might run on your machine:
# sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT


 ##   DESPERATE ACCESS to a DIGITAL FEUDALIST
 ##   ---------------------------------------
 ##   After adding the rules below, you won't be able to access a DIGITAL 
 ##     FEUDALIST unless through Tor Browser or torsocks. Accessing them over
 ##     the clearnet leaves one susceptible to BIG DATA and other TECH GIANT
 ##     abuses. However...
 ##   
 ##   Sometimes the DIGITAL FEUDALIST will block Tor access, and access over the
 ##     phone or in person is not possible. Under threat of loss of life you may
 ##     need to use an unethical internet service.
 ##
 ##   For desperate access, [F]lush their specific chain:
# sudo iptables -t nat -F DFCA__AMAZON     # [F]lushes (empties) the entire DFCA__AMAZON table for example.
# sudo iptables -t nat -F DFCA__CLOUDFLARE #  ...
# sudo iptables -t nat -F DFCA__AKAMAI     #  etc.

 ##   Because the previous ruleset will be saved, when you wish to resume
 ##     blocking, simply run:
# sudo iptables-restore /etc/iptables/iptables.rules     # Archlinux/Gentoo
# sudo iptables-restore                                  # Debian

# sudo ip6tables-restore /etc/iptables/ip6tables.rules     # Archlinux/Gentoo
# sudo iptables-restore                                    # Debian

 ##   So, without further ado...


 ##   ADDING THE RULES
 ##   ================
 ##
 ##   Screen alerts Frequency
 ##   -----------------------
 ##   It is helpful to learn the times when software on your computer attempts to
 ##     contact the TECHNO FEUDALIST and fails.
 ##
 ##   How many bursts of alerts do you want to popup on the screen for each 
 ##      DIGITAL FEUDALIST? The default is two (2)...
DFCA_ALERTS__limitBurst=2

 ##   If running a desktop or device with a larger (eg. 21") screen, the below
 ##     increases the above number to three (3) so you gain a better understanding
 ##     of what's happening (remove the leading '#'):
#DFCA_ALERTS__limitBurst=3


 ##   Inserting the rules
 ##   -------------------
 ##   Rules are to be (I)nserted in the reverse order of importance. By using
 ##     (I)nsert the rules are added to the start of your list. So assuming your
 ##     connection is currently working, the firewall will block the DIGITAL
 ##     FEUDALIST prior to doing anything else.

 ##   Apple (least common)

sudo iptables -t nat -N DFCA__APPLE             # make new chain in the Network Addressing
                                                #   Table (NAT) for rules pertaining to
                                                #   DFCA Law (Apple company)
sudo iptables -t nat -I OUTPUT -j DFCA__APPLE   # [I]nsert rule to [j]ump to above rules
                                                #   before packet is [OUTPUT]/sent
sudo iptables -t nat -N DFCA__LOGGING__APPLE    # new chain to log bad (Apple corporation)
                                                #   attempts. The log is used to generate
                                                #   the pop-up notification.

 ##   This next command will fail if you haven't produced the CIDRCollapsed files
 ##     above. It gets the possible IP addresses in the files, converts the IPv4
 ##     outputs to a comma delimited list (with sed), then feeds that list using
 ##     xargs and {} to the firewall to ensure OUTPUT (an outgoing connection) to
 ##     the tech giant is blocked. Unfortunately when you are adding an IP range
 ##     that is redundant (ie. 3.101.100.128/25 after 3.101.0.0/16) iptables
 ##     doesn't appear to detect this, which is why 'IP Range Collapse' is
 ##     included at the end of this document.
grep -E -ho '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?' Apple/?*appl-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo iptables -t nat -A DFCA__APPLE -d {} -j DFCA__LOGGING__APPLE

 ##   Logging is limited to [1] per [sec]ond, but a limited [burst] of more is
 ##     permitted, as described earlier, it will [log] the [uid] and importantly,
 ##     implied with that is the GID (Group ID) which can be used to identify the
 ##     offending app. We log with a [prefix]ed message, and use the medium
 ##     priority [log-level] of [4].
sudo iptables -t nat -A DFCA__LOGGING__APPLE -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Apple outgoing blocked: " --log-level 4
sudo iptables -t nat -A DFCA__LOGGING__APPLE -j DNAT --to 127.1.66.68
sudo iptables -I OUTPUT -d 127.1.66.68 -j REJECT


 ##   Facebook

sudo iptables -t nat -N DFCA__FACEBOOK
sudo iptables -t nat -I OUTPUT -j DFCA__FACEBOOK
sudo iptables -t nat -N DFCA__LOGGING__FACEBOOK

grep -E -ho '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?' Facebook/?*fbook-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo iptables -t nat -A DFCA__FACEBOOK -d {} -j DFCA__LOGGING__FACEBOOK

sudo iptables -t nat -A DFCA__LOGGING__FACEBOOK -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Facebook outgoing blocked: " --log-level 4
sudo iptables -t nat -A DFCA__LOGGING__FACEBOOK -j DNAT --to 127.1.66.67
sudo iptables -I OUTPUT -d 127.1.66.67 -j REJECT


 ##   Alibaba

sudo iptables -t nat -N DFCA__ALIBABA
sudo iptables -t nat -I OUTPUT -j DFCA__ALIBABA
sudo iptables -t nat -N DFCA__LOGGING__ALIBABA

grep -E -ho '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?' Alibaba/?*ali-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo iptables -t nat -A DFCA__ALIBABA -d {} -j DFCA__LOGGING__ALIBABA

sudo iptables -t nat -A DFCA__LOGGING__ALIBABA -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Alibaba outgoing blocked: " --log-level 4
sudo iptables -t nat -A DFCA__LOGGING__ALIBABA -j DNAT --to 127.1.66.69
sudo iptables -I OUTPUT -d 127.1.66.69 -j REJECT


 ##   Tencent

sudo iptables -t nat -N DFCA__TENCENT
sudo iptables -t nat -I OUTPUT -j DFCA__TENCENT
sudo iptables -t nat -N DFCA__LOGGING__TENCENT

grep -E -ho '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?' Tencent/?*tenc-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo iptables -t nat -A DFCA__TENCENT -d {} -j DFCA__LOGGING__TENCENT

sudo iptables -t nat -A DFCA__LOGGING__TENCENT -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Tencent outgoing blocked: " --log-level 4
sudo iptables -t nat -A DFCA__LOGGING__TENCENT -j DNAT --to 127.16.66.10
sudo iptables -I OUTPUT -d 127.16.66.10 -j REJECT


 ##   SpaceX

sudo iptables -t nat -N DFCA__SPACEX
sudo iptables -t nat -I OUTPUT -j DFCA__SPACEX
sudo iptables -t nat -N DFCA__LOGGING__SPACEX

grep -E -ho '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?' SpaceX/?*spacex-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo iptables -t nat -A DFCA__SPACEX -d {} -j DFCA__LOGGING__SPACEX

sudo iptables -t nat -A DFCA__LOGGING__SPACEX -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "SpaceX outgoing blocked: " --log-level 4
sudo iptables -t nat -A DFCA__LOGGING__SPACEX -j DNAT --to 127.1.66.66
sudo iptables -I OUTPUT -d 127.1.66.66 -j REJECT


 ##   Oracle

sudo iptables -t nat -N DFCA__ORACLE
sudo iptables -t nat -I OUTPUT -j DFCA__ORACLE
sudo iptables -t nat -N DFCA__LOGGING__ORACLE

grep -E -ho '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?' Oracle/?*orac-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo iptables -t nat -A DFCA__ORACLE -d {} -j DFCA__LOGGING__ORACLE

sudo iptables -t nat -A DFCA__LOGGING__ORACLE -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Oracle outgoing blocked: " --log-level 4
sudo iptables -t nat -A DFCA__LOGGING__ORACLE -j DNAT --to 127.1.66.65
sudo iptables -I OUTPUT -d 127.1.66.65 -j REJECT


 ##   Microsoft

sudo iptables -t nat -N DFCA__MICROSOFT
sudo iptables -t nat -I OUTPUT -j DFCA__MICROSOFT
sudo iptables -t nat -N DFCA__LOGGING__MICROSOFT

grep -E -ho '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?' Microsoft/?*msft-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo iptables -t nat -A DFCA__MICROSOFT -d {} -j DFCA__LOGGING__MICROSOFT

sudo iptables -t nat -A DFCA__LOGGING__MICROSOFT -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Microsoft outgoing blocked: " --log-level 4
sudo iptables -t nat -A DFCA__LOGGING__MICROSOFT -j DNAT --to 127.1.66.64
sudo iptables -I OUTPUT -d 127.1.66.64 -j REJECT


 ##   Akamai

sudo iptables -t nat -N DFCA__AKAMAI
sudo iptables -t nat -I OUTPUT -j DFCA__AKAMAI
sudo iptables -t nat -N DFCA__LOGGING__AKAMAI

grep -E -ho '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?' Akamai/?*akam-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo iptables -t nat -A DFCA__AKAMAI -d {} -j DFCA__LOGGING__AKAMAI

sudo iptables -t nat -A DFCA__LOGGING__AKAMAI -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Akamai outgoing blocked: " --log-level 4
sudo iptables -t nat -A DFCA__LOGGING__AKAMAI -j DNAT --to 127.1.66.63
sudo iptables -I OUTPUT -d 127.1.66.63 -j REJECT


 ##   Google (non-DNS)

sudo iptables -t nat -N DFCA__GOOGLE
sudo iptables -t nat -I OUTPUT -j DFCA__GOOGLE
sudo iptables -t nat -N DFCA__LOGGING__GOOGLE

grep -E -ho '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?' Google/?*goog-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo iptables -t nat -A DFCA__GOOGLE -d {} -j DFCA__LOGGING__GOOGLE

sudo iptables -t nat -A DFCA__LOGGING__GOOGLE -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Google outgoing blocked: " --log-level 4
sudo iptables -t nat -A DFCA__LOGGING__GOOGLE -j DNAT --to 127.1.66.62
sudo iptables -I OUTPUT -d 127.1.66.62 -j REJECT


 ##   Amazon

sudo iptables -t nat -N DFCA__AMAZON
sudo iptables -t nat -I OUTPUT -j DFCA__AMAZON
sudo iptables -t nat -N DFCA__LOGGING__AMAZON

grep -E -ho '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?' Amazon/?*amaz-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo iptables -t nat -A DFCA__AMAZON -d {} -j DFCA__LOGGING__AMAZON

sudo iptables -t nat -A DFCA__LOGGING__AMAZON -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Amazon outgoing blocked: " --log-level 4
sudo iptables -t nat -A DFCA__LOGGING__AMAZON -j DNAT --to 127.1.66.61
sudo iptables -I OUTPUT -d 127.1.66.61 -j REJECT


 ##   Cloudflare (non-DNS)

sudo iptables -t nat -N DFCA__CLOUDFLARE
sudo iptables -t nat -I OUTPUT -j DFCA__CLOUDFLARE
sudo iptables -t nat -N DFCA__LOGGING__CLOUDFLARE

grep -E -ho '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?' Cloudflare/?*cf-CIDR?*  | xargs echo | sed 's/ /, /g' | xargs -I{} sudo iptables -t nat -A DFCA__CLOUDFLARE -d {} -j DFCA__LOGGING__CLOUDFLARE

sudo iptables -t nat -A DFCA__LOGGING__CLOUDFLARE -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Cloudflare outgoing blocked: " --log-level 4
sudo iptables -t nat -A DFCA__LOGGING__CLOUDFLARE -j DNAT --to 127.1.66.60
sudo iptables -I OUTPUT -d 127.1.66.60 -j REJECT


 ##   Almost there!!!


 ##   DNS of Cloudflare and Google
 ##   ----------------------------
 ##   Finally let us log and block the most frequent issue, the use of
 ##     Cloudflare and Google as DNS (Domain Name Service) servers.

 ##   Your computer is using DNS servers whenever it needs to resolve a
 ##     domain name (example.com) into an IP address (eg. 111.222.33.44).

 ##   For decades DNS requests were not secure over port number 43, and
 ##     ISPs knew to intercept port 43 requests and to attempt to resolve
 ##     the domain name into an IP address themselves, thus saving
 ##     bandwidth. 

 ##   In early 2019, Mozilla was labelled by ISPs and other surveillance 
 ##     beneficiaries as "Internet Villan of the Year" for adopting
 ##     DNS-over-HTTPS, a protocol that made DNS request "secure" and
 ##     indistinguishable from any other SSL/HTTPS traffic (ie. using port
 ##     443). Mozilla implemented DNS-over-HTTPS (DoS) in their Firefox
 ##     Web Browser. Generally speaking DoS is a good thing as it makes
 ##     certain that the IP Address you get back from the DNS is from that
 ##     DNS server, but rather than allow you to connect to your local ISP,
 ##     Mozilla decided that everyone's DNS server would be CloudFlare!!!
 ##     Terrible, right?
 ##
 ##   The following may break such DNS in Firefox, you should configure
 ##     your Firefox to not use the 'trr' (what they call the 'Trusted
 ##     Recursive Resolver') method by going to the 'about:config' page
 ##     in FireFox and changing the 'network.trr.mode' variable if your
 ##     DNS stops working. Firefox adjustments are outside the scope of
 ##     this document. Also forks of Firefox can be okay, you'll learn
 ##     quickly after implementing this law that Firefox itself is a
 ##     pretty terrible browser that "phones home" to Google, Cloudflare
 ##     and Amazon frequently and when asked not to. Even editing some
 ##     settings in Firefox will cause it to talk to a DIGITAL FEUDALIST.
 ##     Firefox should only be used to get through a 'captive portal'
 ##     connection page, if the public WiFi in the area requires that you
 ##     tick a silly box to connect; It might not even be good for that.
 ##     To get past a 'captive portal' simply try to visit a website using
 ##     a random IP address (eg. 123.45.67.89) and that will bypass the
 ##     need for DNS.

 ##   [I]nsert at the start of chain the addresses to block Cloudflare and
 ##     Google DNS.

sudo iptables -t nat -I OUTPUT -d 8.8.8.0/24 -j DFCA__LOGGING__GOOGLE
sudo iptables -t nat -I OUTPUT -d 1.1.1.0/24 -j DFCA__LOGGING__CLOUDFLARE

 ##   As a final touch at the start of your OUTPUT rule-chain, to allow an
 ##     established connections to persist, and localhost:
sudo iptables -I OUTPUT -m state --state INVALID -j REJECT
sudo iptables -I OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -I OUTPUT -o lo -j ACCEPT


 ##   Done for IPv4!

 ##   You may view the results with:
sudo iptables        -L -n --line-numbers             # Check the default 'filter' table
sudo iptables -t nat -L -n --line-numbers             # Check the NAT table (will be huge)

 ##   Save as default so its used at startup
sudo iptables-save -f /etc/iptables/iptables.rules      # Archlinux/Gentoo saving method, or
sudo service iptables save                              # Debian saving method




 ##   Next is IPv6
 ##   ------------
 ##   The regular expression (regex) rule for IPv6 is so long that it must be
 ##     encapsulated into a file first (see 'The Reg'Ex' below for a more
 ##     complete explanation).

echo '(
([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}| 
([0-9a-fA-F]{1,4}:){1,7}:|
([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|
([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|
([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|
([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|
([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|
[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|
:((:[0-9a-fA-F]{1,4}){1,7}|:)
)
(/[0-9]{1,3})?
' | tr -d '\n' | tr -d '[:blank:]' > IPV6_REGEX.txt



 ##   The above has generated a file, TEMP_IPV6_RULE.txt. Look at it to see it's
 ##     based on the above but almost unreadable. Now for the important part... 
 ##     blocking the tech giants' IPv6 addresses!


 ##   Adding the rules
 ##   ----------------
 ##   Rules are to be adding in the reverse order of importance.

 ##   Again... max bursts of notifications (laptop)
DFCA_ALERTS__limitBurst=2

 ##   (desktop)
# DFCA_ALERTS__limitBurst=3

 ##   Let's make it obvious we're using ip6-(six)-tables
ipt6="ip6tables"      # Thanks https://www.linux.com/topic/networking/iptables-rules-ipv6/

 ##   Again, go to correct folder
cd /home/$(who | sed 's/ .*//g')/.law-DFCA/


 ##     Apple (least common) (ipv6)
 ##     -----
sudo $ipt6 -t nat -N DFCA__APPLE
sudo $ipt6 -t nat -I OUTPUT -j DFCA__APPLE
sudo $ipt6 -t nat -N DFCA__LOGGING__APPLE

grep -E -ho "$(cat IPV6_REGEX.txt)" Apple/?*appl-IPv6-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo $ipt6 -t nat -A DFCA__APPLE -d {} -j DFCA__LOGGING__APPLE

sudo $ipt6 -t nat -A DFCA__LOGGING__APPLE -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Apple IPv6 out blocked: " --log-level 4
sudo $ipt6 -t nat -A DFCA__LOGGING__APPLE -j DNAT --to fe80:666:8::
sudo $ipt6 -I OUTPUT -d fe80:666:8:: -j REJECT


 ##     Facebook (ipv6)
 ##     --------
sudo $ipt6 -t nat -N DFCA__FACEBOOK
sudo $ipt6 -t nat -I OUTPUT -j DFCA__FACEBOOK
sudo $ipt6 -t nat -N DFCA__LOGGING__FACEBOOK

grep -E -ho "$(cat IPV6_REGEX.txt)" Facebook/?*fbook-IPv6-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo $ipt6 -t nat -A DFCA__FACEBOOK -d {} -j DFCA__LOGGING__FACEBOOK

sudo $ipt6 -t nat -A DFCA__LOGGING__FACEBOOK -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Facebook IPv6 out blocked: " --log-level 4
sudo $ipt6 -t nat -A DFCA__LOGGING__FACEBOOK -j DNAT --to fe80:666:7::
sudo $ipt6 -I OUTPUT -d fe80:666:7:: -j REJECT


 ##     Alibaba (ipv6)
 ##     -------
sudo $ipt6 -t nat -N DFCA__ALIBABA
sudo $ipt6 -t nat -I OUTPUT -j DFCA__ALIBABA
sudo $ipt6 -t nat -N DFCA__LOGGING__ALIBABA

grep -E -ho "$(cat IPV6_REGEX.txt)" Alibaba/?*ali-IPv6-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo $ipt6 -t nat -A DFCA__ALIBABA -d {} -j DFCA__LOGGING__ALIBABA

sudo $ipt6 -t nat -A DFCA__LOGGING__ALIBABA -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Alibaba IPv6 out blocked: " --log-level 4
sudo $ipt6 -t nat -A DFCA__LOGGING__ALIBABA -j DNAT --to fe80:666:9::
sudo $ipt6 -I OUTPUT -d fe80:666:9:: -j REJECT


 ##     Tencent (ipv6)
 ##     -------
sudo $ipt6 -t nat -N DFCA__TENCENT
sudo $ipt6 -t nat -I OUTPUT -j DFCA__TENCENT
sudo $ipt6 -t nat -N DFCA__LOGGING__TENCENT

grep -E -ho "$(cat IPV6_REGEX.txt)" Tencent/?*tenc-IPv6-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo $ipt6 -t nat -A DFCA__TENCENT -d {} -j DFCA__LOGGING__TENCENT

sudo $ipt6 -t nat -A DFCA__LOGGING__TENCENT -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Tencent IPv6 out blocked: " --log-level 4
sudo $ipt6 -t nat -A DFCA__LOGGING__TENCENT -j DNAT --to fe80:666:10::
sudo $ipt6 -I OUTPUT -d fe80:666:10:: -j REJECT


 ##     SpaceX (ipv6)
 ##     ------
sudo $ipt6 -t nat -N DFCA__SPACEX
sudo $ipt6 -t nat -I OUTPUT -j DFCA__SPACEX
sudo $ipt6 -t nat -N DFCA__LOGGING__SPACEX

grep -E -ho "$(cat IPV6_REGEX.txt)" SpaceX/?*spacex-IPv6-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo $ipt6 -t nat -A DFCA__SPACEX -d {} -j DFCA__LOGGING__SPACEX

sudo $ipt6 -t nat -A DFCA__LOGGING__SPACEX -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "SpaceX IPv6 out blocked: " --log-level 4
sudo $ipt6 -t nat -A DFCA__LOGGING__SPACEX -j DNAT --to fe80:666:6::
sudo $ipt6 -I OUTPUT -d fe80:666:6:: -j REJECT


 ##     Oracle (ipv6)
 ##     ------
sudo $ipt6 -t nat -N DFCA__ORACLE
sudo $ipt6 -t nat -I OUTPUT -j DFCA__ORACLE
sudo $ipt6 -t nat -N DFCA__LOGGING__ORACLE

grep -E -ho "$(cat IPV6_REGEX.txt)" Oracle/?*orac-IPv6-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo $ipt6 -t nat -A DFCA__ORACLE -d {} -j DFCA__LOGGING__ORACLE

sudo $ipt6 -t nat -A DFCA__LOGGING__ORACLE -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Oracle IPv6 out blocked: " --log-level 4
sudo $ipt6 -t nat -A DFCA__LOGGING__ORACLE -j DNAT --to fe80:666:5::
sudo $ipt6 -I OUTPUT -d fe80:666:5:: -j REJECT


 ##     Microsoft (ipv6)
 ##     ---------
sudo $ipt6 -t nat -N DFCA__MICROSOFT
sudo $ipt6 -t nat -I OUTPUT -j DFCA__MICROSOFT
sudo $ipt6 -t nat -N DFCA__LOGGING__MICROSOFT

grep -E -ho "$(cat IPV6_REGEX.txt)" Microsoft/?*msft-IPv6-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo $ipt6 -t nat -A DFCA__MICROSOFT -d {} -j DFCA__LOGGING__MICROSOFT

sudo $ipt6 -t nat -A DFCA__LOGGING__MICROSOFT -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Microsoft IPv6 out blocked: " --log-level 4
sudo $ipt6 -t nat -A DFCA__LOGGING__MICROSOFT -j DNAT --to fe80:666:4::
sudo $ipt6 -I OUTPUT -d fe80:666:4:: -j REJECT


 ##     Akamai (ipv6)
 ##     ------
sudo $ipt6 -t nat -N DFCA__AKAMAI
sudo $ipt6 -t nat -I OUTPUT -j DFCA__AKAMAI
sudo $ipt6 -t nat -N DFCA__LOGGING__AKAMAI

grep -E -ho "$(cat IPV6_REGEX.txt)" Akamai/?*akam-IPv6-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo $ipt6 -t nat -A DFCA__AKAMAI -d {} -j DFCA__LOGGING__AKAMAI

sudo $ipt6 -t nat -A DFCA__LOGGING__AKAMAI -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Akamai IPv6 out blocked: " --log-level 4
sudo $ipt6 -t nat -A DFCA__LOGGING__AKAMAI -j DNAT --to fe80:666:3::
sudo $ipt6 -I OUTPUT -d fe80:666:3:: -j REJECT


 ##     Google (ipv6)
 ##     ------
sudo $ipt6 -t nat -N DFCA__GOOGLE
sudo $ipt6 -t nat -I OUTPUT -j DFCA__GOOGLE
sudo $ipt6 -t nat -N DFCA__LOGGING__GOOGLE

grep -E -ho "$(cat IPV6_REGEX.txt)" Google/?*goog-IPv6-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo $ipt6 -t nat -A DFCA__GOOGLE -d {} -j DFCA__LOGGING__GOOGLE

sudo $ipt6 -t nat -A DFCA__LOGGING__GOOGLE -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Google IPv6 out blocked: " --log-level 4
sudo $ipt6 -t nat -A DFCA__LOGGING__GOOGLE -j DNAT --to fe80:666:2::
sudo $ipt6 -I OUTPUT -d fe80:666:2:: -j REJECT


 ##     Amazon (ipv6)
 ##     ------
sudo $ipt6 -t nat -N DFCA__AMAZON
sudo $ipt6 -t nat -I OUTPUT -j DFCA__AMAZON
sudo $ipt6 -t nat -N DFCA__LOGGING__AMAZON

grep -E -ho "$(cat IPV6_REGEX.txt)" Amazon/?*amaz-IPv6-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo $ipt6 -t nat -A DFCA__AMAZON -d {} -j DFCA__LOGGING__AMAZON

sudo $ipt6 -t nat -A DFCA__LOGGING__AMAZON -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Amazon IPv6 out blocked: " --log-level 4
sudo $ipt6 -t nat -A DFCA__LOGGING__AMAZON -j DNAT --to fe80:666:1::
sudo $ipt6 -I OUTPUT -d fe80:666:1:: -j REJECT


 ##     Cloudflare (ipv6)
 ##     ----------
sudo $ipt6 -t nat -N DFCA__CLOUDFLARE
sudo $ipt6 -t nat -I OUTPUT -j DFCA__CLOUDFLARE
sudo $ipt6 -t nat -N DFCA__LOGGING__CLOUDFLARE

grep -E -ho "$(cat IPV6_REGEX.txt)" Cloudflare/?*cf-IPv6-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo $ipt6 -t nat -A DFCA__CLOUDFLARE -d {} -j DFCA__LOGGING__CLOUDFLARE

sudo $ipt6 -t nat -A DFCA__LOGGING__CLOUDFLARE -m limit --limit 1/sec --limit-burst $DFCA_ALERTS__limitBurst -j LOG --log-uid --log-prefix "Cloudflare IPv6 out blocked: " --log-level 4
sudo $ipt6 -t nat -A DFCA__LOGGING__CLOUDFLARE -j DNAT --to fe80:666:0::
sudo $ipt6 -I OUTPUT -d fe80:666:0:: -j REJECT

 ##     Same final touches to allow established connections, and
 ##       localhost:
sudo $ipt6 -I OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo $ipt6 -I OUTPUT -o lo -j ACCEPT


 ##     You can look at the rules if you like:
sudo $ipt6        -L -n --line-numbers
sudo $ipt6 -t nat -L -n --line-numbers

 ##     And finally save.
sudo $ipt6-save -f /etc/iptables/$ipt6.rules    # Archlinux/Gentoo
sudo service $ipt6 save                         # Debian

 ##     That's blocking done! But you don't want things to stop working
 ##       without knowing why. In reality you also need to know when the
 ##       computer is denying connections to the DIGITAL FEUDALIST.
 ##
 ##     Continue reading to gain notifications.


 ##   Notifications of attempted breaches
 ##   -----------------------------------
 ##   Its not enough just to block the DIGITAL FEUDALIST. Its important
 ##     to easily learn which software is attempting to send data to
 ##     them.
 ##
 ##   For this we need 'notications', and 'icons' in those notifications.


 ##   Popups
 ##   ------
 ##   Add a notifier (shell) script to run at startup.
 ##
 ##   Make the directory
mkdir /usr/bin/law-DFCA/

 ##   Create the file with 'touch' command:
sudo touch /usr/bin/law-DFCA/notify-me-of-firewall-action.sh

 ##   ####################
 ##   ALERT: If you have a different setup and the below does not function,
 ##     take a look at system.d:
 ##
 ##   - Using /etc/rc.local file to execute commands at system boot - ARKIT
 ##      https://arkit.co.in/using-rc-local-file-execute-commands/
 ##   - boot - Why is the command in /etc/rc.local not executed during startup? - Ask Ubuntu
 ##      https://askubuntu.com/questions/299792/why-is-the-command-in-etc-rc-local-not-executed-during-startup
 ##   - startup - How to run scripts on start up? - Ask Ubuntu
 ##      https://askubuntu.com/questions/814/how-to-run-scripts-on-start-up
 ##   ####################
 ##
 ##   Below is the contents of the file (/usr/bin/law-DFCA/notify-me-of-firewall-action.sh)
 ##     I haven't automated the writing of this files' contents. Copy the contents
 ##     into the file (hint: right-click the /usr/bin/law-DFCA/ folder and
 ##     select 'Open as root' or equivalent to open the folder with higher
 ##     permissions. Or use one of the following commands depending on the
 ##     file manager that you have:
#sudo nautilus /usr/bin/law-DFCA &
#sudo thunar   /usr/bin/law-DFCA &
#sudo dolphin  /usr/bin/law-DFCA &
#sudo nemo     /usr/bin/law-DFCA &
 ##
 ##   ####################

 ##   Copy the follow contents to 'END COPY' block into file above. Ensure
 ##     the line "#!/bin/bash" is the first line in the file.

 ##   ####################


#!/bin/bash

##   This script offers a small notification to the user when the computer 
##     attempts to connect to a DIGITAL FEUDALIST, and will (with minor
##     user effort in using 'groups') even expose an offending app! FULL
##     DISCLOSURE: minor bug very occasionally causes wrong application
##     to be blamed for a request so please attribute blame to an
##     offending applications with (some) caution. It mostly works fine so
##     consider waiting for a repeat of the behaviour, before making any
##     public accusations. /// Also unsure if groups is the best
##     and most easiest method to attribure blame to applications. ///
##     IPv6 is untested.
##
##   This script goes into the folder /usr/bin/law-DFCA/
##
##   Ensure it is executable...
#chmod +x /usr/bin/law-DFCA/notify-me-of-firewall-action.sh

##   ...and executed at startup by a '.desktop' file (see README).

##   REQUIRES
##    - notifysend
##    - papirus-icon-theme (icons to represent some DIGITAL FEUDALISTs)
##    - groupadd
##    - sg
##    - usermod

## LICENSE:

## The below, is a DISTRIBUTED ANTITRUST LAW. It is COPYLEFT-LICENSED as GPLv3, with some basic yet strict limitations below. Originally by 'UNSENDER' and released in 2023 for the sole purpose of ending DIGITAL SLAVERY AND SUPPRESSION and thus only designed for FREE-LICENSE and OPEN-SOURCE 'OPERATING SYSTEMS' or, as they are referred to in the linux community, 'DISTROS'. DIRECTLY FOLLOWING THIS LICENSE A FULL CHANGELOG MUST BE INCLUDED. IT IS IMPERATIVE THAT THIS DOCUMENT REMAINS A HUMAN-READABLE, living, breathing, changing document FOR THE NON-TECHNICAL USER such that the user can learn linux operations. NO SINGLE PERSON OR ENTITY CAN BE MADE LIABLE IN ANY CIVIL OR CRIMINAL COURT FOR ITS CONTENTS, NOR TO GUARANTEE FITNESS OR WARRANTIES FOR A PARTICULAR PURPOSE. IT IS PROVIDED 'AS IS' IN THE HOPE THAT IT WILL BE (***VERY***) USEFUL.

## It is considered a 'CYPHER'CRIME for a person connected to the DIGITAL COLONIZATION, which include any employee of, investor in, or any person who has a close family member, friend or associate who is invested in, or an employee of any entity listed in THE DIGITAL FEUDALISTS section of this document, to publish or make available for publish, adaptations to this document, while they have any such CONFLICT(S) OF INTEREST and for a TIME PERIOD OF NO LESS THAN (4) FOUR YEARS since having such CONFLICT(S) OF INTEREST.

## The current DIGITAL FEUDALISTS are AKAMAI, ALIBABA, AMAZON, APPLE, CLOUDFLARE, FACEBOOK, GOOGLE, MICROSOFT, MUSK (incl. SPACEX, TESLA, STARLINK and TWITTER), ORACLE and TENCENT.

## Note that BYTEDANCE, FASTLY, LITESPEED, NETFLIX, REDDIT and YANDEX only partially met below criteria and thus not included.

## END OF LICENSE


## CHANGELOG:

## 2023-05 - 0.2.0 - Unsender
##   - FIX: List 'papirus-icon-theme' package as a required dependency.
##   - FIX: Original version year from "2022" to "2023"
##   - FEATURE: Added ALIBABA and TENCENT as feudalists
##   - FEATURE: Added icon for AKAMAI + better (anti) icon for APPLE + optimised icon selection
##
## 2023-03 - 0.1.0 - Unsender
##   - Original release, knowing that its far from complete/perfect, thus the '0.1.0' numbering.
##
## END OF CHANGELOG


## Set field separator or you get output like:
##
## Mar
## 23
## 12:44:49
## kernel:
## Amazon
## outgoing
## blocked:

IFS=$'\n';

declare -A gIDToName    # associative array declared with capital 'A' not 'a' (see Bash reference manual)
aboutOneSecondAgo='1 second ago'

## Regular expressions
## -------------------
REGEX_INTEGER='^[0-9]+$'          # test for integer (note: to test for decimals you'd use
                            #   '^[0-9]+([.][0-9]+)?$'. For signed numbers add [+-]?
                            #   after the (^) 'starts with' hat symbol.
REGEX__DFCA_LAW='^_d_f_c_a_law_'  # reg'ex that means (^) 'starts with' "_d_f_c(...)"
REGEX__MYCOMPUTER_NAME="^$(who|sed 's/ .*//g')"

DISPLAY__DFCA_LAW='<i>DFCA Law</i>'
DISPLAY__DFCA_INTERNET_LAW="DFCA (Antitrust) Law"

## Infinate loop executed each second
while true; do

  ## TEST OFFLINE
  # for line in $(echo 'Mar 34 13:32:43 boulder-cypherpunk kernel: Yandex outgoing blocked: IN= OUT=wlp5s0 SRC=192.168.1.7 DST=34.107.221.82 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=50224 DF PROTO=TCP SPT=56116 DPT=80 WINDOW=64240 RES=0x00 SYN URGP=0 UID=1000 GID=973') ; do

  ## Get all blocked connections in the last second, as reported by the -k kernal
  for line in $(journalctl -k --since "$aboutOneSecondAgo"| grep 'IN=.*OUT=.*') ; do
    aboutOneSecondAgo=$(date +'%F %H:%M:%S')   # reset each second
                  #  %F=(date like %+4Y-%m-%d) %H:%M:%S=%X=(locale's time like 23:13:48)


    ## Message, described between 'kernal: ' and ':'
    message=$(echo $line | sed 's/.*kernel: //g' | sed 's/:.*//g')


    ##  Source port probe (which did not work)
    ##  -----------------
    ##  Newbies don't need to know the following, but...
    ##  A failed attempt to get the name of the app that made the request was to use
    ##    the pid provided in the line directly, but apps start a temporary process
    ##    and when the connection is refused the process is killed, thus the
    ##    offending program cannot be tracked that way. Using the source port of the 
    ##    request, again, has the same issue. The source port is the port being 
    ##    listened to by the temp process, and is useless. The following commands 
    ##    were thus not helpful:
# ss -lpn 'sport = :7657' | grep pid | sed 's/.*(("//g' | sed 's/",pid=/ (/g' | sed 's/,.*/)/g' | sort -u
# sourcePort=$(echo $line | sed 's/.*SPT=//g' | sed 's/ .*//g')
# offendingApp=$(echo ss -lpn "sport = :$sourcePort" | grep pid | sed 's/.*(("//g' | sed 's/",pid=/ (/g' | sed 's/,.*/)/g' | sort -u)
    ##
    ##   The trick is involved but simple. Special groups are created for each "app
    ##     of interest". Eg:
    ##       _d_f_c_a_law__firefox
    ##       _d_f_c_a_law__i_2_p
    ##       _d_f_c_a_law__tor-browser
    ##   The groups above are assigned a GID which gets logged by `IPTables' with the
    ##     'LOG' option, '--log-uid'. From this number we get the group name, and
    ##     extract/generate a nice human readable string featuring only the app name.

    ##   Notice how 'group names' cannot include capitals. To use capitals as in
    ##     'I2P' and 'Tor browser' some fancy 'sed'work (explained below) is done.
    ##      Follow instructions in the DFCA Law's section titled 'Catch an app
    ##      breaking DFCA Law' to safely implement the groups.    ````````````
    ##      `````````````````

    ## Identify the GID and groupname
    theGID=$(echo "$line" | sed 's/.*GID=//g' | sed 's/ .*//g')
    if [[ $theGID =~ $REGEX_INTEGER ]] ; then
      if [ -z ${gIDToName[$theGID]} ]    # if null
      then
        theGroupName=$(getent group "$theGID" | cut -d: -f1)
        if [[ $theGroupName =~ $REGEX__DFCA_LAW ]] ; then
          # Make name pretty
          theGroupName=$(echo "$theGroupName" | sed 's/_d_f_c_a_law_//g') # omit DFCA_Law namespacer
          theGroupName=$(echo "$theGroupName" | sed 's/-/ /g')            # turn '-' to spaces
          theGroupName=$(echo "$theGroupName" | sed 's/___*/ _/g')          # turn '__' to ' _'
          theGroupName=$(echo "$theGroupName" | sed 's/_\(.\)/\U&/g' | sed 's/_//g')  # '_[a-z]' to '[A-Z]'
          # ... and add signature to end of string
          theGroupName=$(echo "$theGroupName (GID=$theGID) ~ $DISPLAY__DFCA_LAW")
        fi

        # If groupName is your computer_name simply attribute the "internet law" generally.
        if [[ $theGroupName =~ $REGEX__MYCOMPUTER_NAME ]] ; then
          theGroupName="$DISPLAY__DFCA_INTERNET_LAW"
        fi

        # Store the result
        gIDToName[$theGID]=$theGroupName

      else
        theGroupName=${gIDToName[$theGID]}
      fi
    fi

    ## Identify the tech giant
    techGiantName=$(echo "$message" | sed 's/ .*//g')

    ## Icon select
    if   [ $techGiantName = 'Cloudflare' ] ; then
      icon='cloud-upload'
    elif [ $techGiantName = 'Amazon' ] ; then
      icon='amazon-store'
    elif [ $techGiantName = 'Akamai' ] ; then
      icon='/usr/bin/law-DFCA/akamai.svg'
    elif [ $techGiantName = 'Microsoft' ] ; then
      icon='im-msn'
    elif [ $techGiantName = 'Google' ] ; then
      icon='fcitx-googlepinyin'
    elif [ $techGiantName = 'Oracle' ] ; then
      icon='/usr/bin/law-DFCA/oracle.svg'
    elif [ $techGiantName = 'Tencent' ] ; then
      icon='1cestart'
    elif [ $techGiantName = 'Alibaba' ] ; then
      icon='asciiportal'
    elif [ $techGiantName = 'SpaceX' ] ; then
      icon='/usr/bin/law-DFCA/spacex.svg'
    elif [ $techGiantName = 'Facebook' ] ; then
      icon='im-facebook'
    elif [ $techGiantName = 'Apple' ] ; then
      icon='checkra1n'
    elif [ $techGiantName = 'Yandex' ] ; then
      icon='yandex-browser'
    else
      icon='crosshairs'
    fi

    notify-send -t 5000 -i "$icon" "$message" "$theGroupName"
  done
  sleep 1 # sec
done

# Unset field separator
unset IFS;


##
## END COPY
##





 ##   Make sure bash script is executable:
chmod +x /usr/bin/law-DFCA/notify-me-of-firewall-action.sh


 ##   Helper/reminder
sudo ln -s /usr/share/icons/Papirus/16x16/apps/system-error.svg '/usr/bin/law-DFCA/(aka Internet Antitrust Law)'

 ##   Extra link to the README in the folder
sudo ln -s README_AND_INSTALL_INSTRUCTIONS.txt '/usr/bin/law-DFCA/README - Digital Feudalism Counter Action'


 ##   Make (muted) icon for Akamai:
sudo bash << EOF
echo '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" version="1.1">
 <path style="fill-opacity:1;fill:#6b7999;" d="M 8.24,2.071 A 4.975,4.979 0 0 0 3.82,7.551 4.975,4.979 0 0 0 9.042,11.984 4.144,4.147 0 0 1 6.221,8.498 4.144,4.147 0 0 1 9.902,3.934 4.144,4.147 0 0 1 13.434,5.3 4.975,4.979 0 0 0 8.24,2.071 Z" />
 <path style="fill:none;stroke:#cb7e3f;stroke-width:2.1839;stroke-opacity:1" d="M 3.482,14.369 9.672,6.853 H 10.634 L 10.609,13.562" />
</svg>' > /usr/bin/law-DFCA/akamai.svg
EOF

 ##   Icon for SpaceX:
sudo bash << EOF
echo '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" version="1.1">
 <defs>
  <style id="current-color-scheme" type="text/css">
   .ColorScheme-Text { color:#444444; } .ColorScheme-Highlight { color:#4285f4; } .ColorScheme-NeutralText { color:#ff9800; } .ColorScheme-PositiveText { color:#4caf50; } .ColorScheme-NegativeText { color:#f44336; }
  </style>
 </defs>
  <path style="fill:currentColor" class="ColorScheme-Text" d="M 2.5800781,1.7617188 C 2.14011,1.7617187 1.7851563,2.1324253 1.7851562,2.5917969 V 13.326172 c 0,0.459372 0.3549538,0.830078 0.7949219,0.830078 H 13.384766 c 0.439967,0 0.794922,-0.370706 0.794922,-0.830078 V 4.9121094 C 11.127738,6.3016103 7.9955863,8.235894 5.2753907,10.962891 H 2.3828125 l 0.3320313,-0.3125 C 3.790807,9.6003535 7.3543198,6.3114203 14.179688,3.9492188 V 2.5917969 c 0,-0.4593716 -0.354955,-0.8300782 -0.794922,-0.8300781 z m -0.00195,3.21875 H 5.4316406 L 7.5039063,6.4667969 C 6.995627,6.7600349 6.4281832,7.111023 5.9394531,7.4433594 Z m 6.9980471,3.0683593 3.9687498,2.9140629 h -2.875 L 8.1289063,9.1054688 C 8.5980872,8.7535833 9.0874417,8.3811645 9.5761721,8.0488281 Z" />
</svg>' > /usr/bin/law-DFCA/spacex.svg
EOF

 ##   Icon for Oracle:
sudo bash << EOF
echo '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" version="1.1">
 <rect style="opacity:1;fill:#9d5f5f;fill-opacity:1;" width="13" height="13" x="1.5" y="1.5" ry="1" />
 <rect style="fill-opacity:0;stroke:#ffffff;stroke-width:1.2;stroke-opacity:1" width="8.6" height="5.4" x="3.7" y="5.3" ry="2.7" />
</svg>' > /usr/bin/law-DFCA/orac.svg
EOF


 ##   Now produce the following desktop file into
 ##     folder '/etc/xdg/autostart/' for execution at startup.
 ##
 ##     NOTE: Most linux 'desktop environments' such as KDE, Xfce and
 ##     GNOME use XDG Autostart. If you don't have such (a folder) then
 ##     a quick search is your friend here, but do not try to use Systemd
 ##     as its not designed for such such and an error like, "Cannot
 ##     autolaunch D-Bus without X11 $DISPLAY" will set you back.

sudo bash << EOF
echo "[Desktop Entry]
Type=Application
Name=Digital Feudalist Alert
Comment=Block Big Tech by enforcing DFCA Internet Law
Icon=bug-buddy
Exec=/usr/bin/law-DFCA/notify-me-of-firewall-action.sh
StartupNotify=false
Terminal=false
Hidden=false" > /etc/xdg/autostart/law.dfca.notify-me-of-firewall-action.desktop
EOF




 ##  If you don't want to wait till re-login to run your new Digital
 ##    Feudalist alert system, run:
. /usr/bin/law-DFCA/notify-me-of-firewall-action.sh &


 ##   Although IP Ranges change only in small amounts these days, it is worth
 ##     seeking to update every six months to a year, or when a major
 ##     aquisition occurs, eg. the TWITTER purchase by a feudalist. See
 ##     Updating section.
 ##     ````````



 ##   PYTHON SCRIPT: IP Range Collapse
 ##   --------------------------------
 ##
 ##   To process these ASN you'll need a little python helper script. It
 ##     collapses IP address lists so that for example your firewall only needs
 ##     to process one IP address range like 99.128.0.0/9 rather than:
 ##
 ##   99.160.0.0/11
 ##   99.162.0.0/16
 ##   99.162.1.0/24
 ##   (etc)
 ##   99.192.0.0/10
 ##
 ##   Make a little helper script that can be used to pass a file to a built-in
 ##     python3 function, collapse_addresses.

echo '#!/usr/bin/python3

from sys import stdin
from ipaddress import ip_network, collapse_addresses

networks = []

for line in stdin:
  networks.append(ip_network(line.strip()))

for addr in collapse_addresses(networks):
  print(str(addr))' > IPRangeCollapse.py

 ##   Make the file executable:
chmod +x IPRangeCollapse.py





 ##   EXAMPLE INSTRUCTIONS: How to produce your own (Cloudflare) IP Range List
 ##   ========================================================================
 ##
 ##   Requires the following;
 ##    - whois
 ##
 ##   The 'ranges' provided by Cloudflare at...:
 ##    [IPv4](https://www.cloudflare.com/ips-v4) and,
 ##    [IPv6](https://www.cloudflare.com/ips-v6) ...are incomplete. Eg, the
 ##      following lists are provided by Cloudflare (2022): 
 ##
 ##   173.245.48.0/20
 ##   103.21.244.0/22
 ##   103.22.200.0/22
 ##   103.31.4.0/22
 ##   141.101.64.0/18
 ##   108.162.192.0/18
 ##   190.93.240.0/20
 ##   188.114.96.0/20
 ##   197.234.240.0/22
 ##   198.41.128.0/17
 ##   162.158.0.0/15
 ##   104.16.0.0/13
 ##   104.24.0.0/14
 ##   172.64.0.0/13
 ##   131.0.72.0/22

 ##   2400:cb00::/32
 ##   2606:4700::/32
 ##   2803:f800::/32
 ##   2405:b500::/32
 ##   2405:8100::/32
 ##   2a06:98c0::/29
 ##   2c0f:f248::/32

 ##   As you can easily see the 1.1.1.1 IP address is missing. As a result its
 ##     best to use 'whois' servers.

 ##   To begin (c)hange (d)irectory to the correct folder for the particular
 ##    DIGITAL FEUDALIST. The statement with the dollar sign chooses your user
 ##    directory, regardless of whether you are acting as 'root' (super) user
 ##    or not: 
cd /home/${SUDO_USER:-$USER}/.law-DFCA/Cloudflare

 ##   To get IP addresses ranges from whois servers its best to use a
 ##     corporations' individual Autonomous System Numbers (ASNs). The 'AS
 ##     number' is often depicted without the 'N', for example, 'AS132892'.
 ##     A good web search seems to find them. Next, fetch the (often megabytes
 ##     of) 'whois records' via the `whois' command, like so...

 ##   Use `torsocks' to channel the 'whois' (if installed), to produce files that
 ##    start with the year and month (eg.202303), which helps to hide that you
 ##    are doing the request. NOTE: `torsocks' can be omitted but then you may
 ##    be exposed as a researcher or contributer. 
torsocks whois -h whois.radb.net -- '-i origin AS13335'  > $(date "+%4Y%m")_00_cf-AS13335.whois
torsocks whois -h whois.radb.net -- '-i origin AS14789'  > $(date "+%4Y%m")_00_cf-AS14789.whois
torsocks whois -h whois.radb.net -- '-i origin AS132892' > $(date "+%4Y%m")_00_cf-AS132892.whois
torsocks whois -h whois.radb.net -- '-i origin AS133877' > $(date "+%4Y%m")_00_cf-AS133877.whois
torsocks whois -h whois.radb.net -- '-i origin AS139242' > $(date "+%4Y%m")_00_cf-AS139242.whois
torsocks whois -h whois.radb.net -- '-i origin AS202623' > $(date "+%4Y%m")_00_cf-AS202623.whois
torsocks whois -h whois.radb.net -- '-i origin AS203898' > $(date "+%4Y%m")_00_cf-AS203898.whois
torsocks whois -h whois.radb.net -- '-i origin AS209242' > $(date "+%4Y%m")_00_cf-AS209242.whois
torsocks whois -h whois.radb.net -- '-i origin AS394536' > $(date "+%4Y%m")_00_cf-AS394536.whois
torsocks whois -h whois.radb.net -- '-i origin AS395747' > $(date "+%4Y%m")_00_cf-AS395747.whois

 ##   Occasionally, you know that an IP Address is owned by a DIGITAL
 ##    FEUDALIST and you want to get the ASN from that... easy:

torsocks whois -h whois.radb.net -- '1.1.1.1' > $(date "+%4Y%m")_00_cf-1.1.1.1_radb.net.whois


 ##   The above uses only the 'radb.net' whois service but you might find a
 ##     better or more reliable one.

 ##   Con(cat)enate all (*) this month's '00' files together and pipe (|) it to a 
 ##     pattern matcher (grep) that will extract only the 'IP address ranges', then
 ##     pipe (|) that to a 'sort' program so only (u)nique results ordered in a
 ##     (V)ersion number fashion and write that to (>) a new txt file.
cat $(date "+%4Y%m")_00* | grep -E -o '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?' | sort -uV > "$(date "+%4Y%m")_01_cf-sort-uV.txt"

 ##   Finally we will use the 'IPRangeCollapse' script included above ^^ to merge
 ##     the IP Address Ranges together so the firewall can search them about ten
 ##     times faster!  Note the (<) backward arrow feeds the program with input
 ##     data and then the output is directed to create (or overwrite) a new output
 ##     file with the (>) forward arrow:
../IPRangeCollapse.py < $(date "+%4Y%m")_01_* > $(date "+%4Y%m")_02_cf-CIDRCollapsed.txt

 ##   That was the IPv4 ranges... IPv6 must be done next. Thankfully such
 ##     addresses are typically included in the same `whois' responses, so most
 ##     of the work is already done... 


 ##   IPv6
 ##   ====

 ##   IPv6: The Reg'Ex
 ##   ----------------
 ##
 ##   The regular expression (regex) rule for IPv6 is so long that it ought be
 ##     encapsulated into a file first, in the command below the lines associate
 ##     to different ways that IPv6 addresses are written (find out more about
 ##     the regular expession at
 ##      https://web.archive.org/https://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses):
 ##
 ##       LINE 1   opening options
 ##            2   1:2:3:4:5:6:7:8
 ##            3   1::                              1:2:3:4:5:6:7::
 ##            4   1::8             1:2:3:4:5:6::8  1:2:3:4:5:6::8
 ##            5   1::7:8           1:2:3:4:5::7:8  1:2:3:4:5::8
 ##            6   1::6:7:8         1:2:3:4::6:7:8  1:2:3:4::8
 ##            7   1::5:6:7:8       1:2:3::5:6:7:8  1:2:3::8
 ##            8   1::4:5:6:7:8     1:2::4:5:6:7:8  1:2::8
 ##            9   1::3:4:5:6:7:8   1::3:4:5:6:7:8  1::8  
 ##           10  ::2:3:4:5:6:7:8  ::2:3:4:5:6:7:8 ::8
 ##           11  closing options
 ##           12  optionally followed by an IP range eg. "/4", "/8", "/64", "/128"
 ##           13  the last two tr commands remove newlines and spaces, respectively.

 ##   Assuming terminal is already in the DIGITAL FEUDALISTS folder, eg.:
cd /home/${SUDO_USER:-$USER}/.law-DFCA/Cloudflare

 ##   Copy and execute the following block (explained above) in the terminal. The
 ##     (>) outputs file 'IPV6_REGEX.txt' into the 'working' directory:

echo '(
([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}| 
([0-9a-fA-F]{1,4}:){1,7}:|
([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|
([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|
([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|
([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|
([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|
[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|
:((:[0-9a-fA-F]{1,4}){1,7}|:)
)
(/[0-9]{1,3})?
' | tr -d '\n' | tr -d '[:blank:]' > ../IPV6_REGEX.txt

 ##   After this the command to extract the IPv6 is very similar to that of the IPv4

cat $(date "+%4Y%m")_00* | grep -E -o "$(cat ../IPV6_REGEX.txt)" | sort -uV > "$(date "+%4Y%m")_01_cf-IPv6-sort-uV.txt"

../IPRangeCollapse.py < $(date "+%4Y%m")_01*-IPv6-sort-uV.txt > "$(date "+%4Y%m")_02_cf-IPv6-collapsed.txt"

 ##  ^^ (See 'PYTHON SCRIPT: IP Range Collapse')


  

 ##   UPDATING
 ##   ========
 ##
 ##   You've been able to get your hands on an updated list of IP Address
 ##     Ranges or have produced one yourself using above 'instructions'.


 ##   1. Checking the file
 ##   --------------------
 ##   You may skip this step but why not check the list to assess whether
 ##     its okay. We will use SPACEX as an example.
 ##
 ##   - (C)hange (d)irectory to SpaceX's folder (if you are a sudo user
 ##       replace '$HOME' with '/home/myusername')
cd $HOME/.law-DFCA/SpaceX

 ##   - Use the (diff)erence command below. Drag your new file to the
 ##       terminal in place of <FILEPATH> to see which IP address ranges are
 ##       removed (backwards arrow [<] denotes removed lines) versus
 ##       those added (forward arrow [>] denotes new lines).
diff *02_spacex-CIDRCollapsed.txt <FILEPATH_TO_YOUR_NEW_CIDR-COLLAPSED_LIST>

 ##   - Curious about a removed IP Address Range? Check it with a 'whois'
 ##       by removing the slash and the number after it (eg. 123.45.67.0/24
 ##       becomes 123.45.67.0). Then you run a whois like so:
torsocks whois -h whois.radb.net -- '123.45.67.0' > $(date "+%4Y%m")_CHECKING_123.45.67.0.whois

 ##   - If you find that it is indeed still a DIGITAL FEUDALIST why not grab
 ##       the whole list of IP Address ranges and skim over them? Eg: for
 ##       AS1234...
torsocks whois -h whois.radb.net -- '-i origin AS1234' > $(date "+%4Y%m")_00_spacex_AS1234.whois

 ##   NOTE: always skim over the full file. If the file is over 5Mb you may
 ##       need a special program
 ##
 ##   Do you need to change the file after your assessment? If so, then
 ##       follow EXAMPLE INSTRUCTIONS above on making a 'collapsed CIDR'
 ##       list.  ````````````````````


 ##   2. Replacing the iptables chain
 ##   -------------------------------
 ##   Ensure the new collapsed CIDR file is in the (.law-DFCA/SpaceX/)
 ##     folder and there is *only* one copy of a 'collapsed CIDR' file for
 ##     either IPv4 (unlabelled as such) or IPv6.
 ##
 ##   *** IMPORTANT: Don't leave old files ***
 ##     in the same folder! The script that we'll be running is 'greedy'
 ##     and will use all files that have part of the correct filename, so
 ##     either remove the file or simply replace 'CIDR' in the filename
 ##     with something else, eg. 'OLD'.
 ##
 ##     You don't want your system to do more work going over duplicate
 ##     and obsolete addresses!!
 ##   ****************************************
 ##
 ##   - See the old rule chain (optional)
sudo iptables -t nat -L DFCA__SPACEX -n --line-numbers

 ##   - Navigate to the correct folder (with this special ternary statement
 ##      that still gives your correct HOME as root)...
cd /home/${SUDO_USER:-$USER}/.law-DFCA/

 ##   - (F)lush (ie. empty) the existing rule chain:
sudo iptables -t nat -F DFCA__SPACEX

 ##   - Run the following command (annotated previously in another section)
 ##       to add the new rules to the rule chain. 
grep -E -ho '([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?' SpaceX/?*spacex-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo iptables -t nat -A DFCA__SPACEX -d {} -j DFCA__LOGGING__SPACEX

 ##   - See the new rule chain (optional)
sudo iptables -t nat -L DFCA__SPACEX -n --line-numbers

 ##   - Don't forget to save using one of the below:
 ##     - IPv4
sudo iptables-save -f /etc/iptables/iptables.rules      # Archlinux/Gentoo saving method, or
sudo service iptables save                              # Debian saving method

 ##   NOTE: The above was only for IPv4.
 ##     The following is the same, but for IPv6 (assuming in same folder):

ipt6=ip6tables

sudo $ipt6 -t nat -F DFCA__SPACEX

grep -E -ho "$(cat IPV6_REGEX.txt)" SpaceX/?*spacex-IPv6-CIDR?* | xargs echo | sed 's/ /, /g' | xargs -I{} sudo $ipt6 -t nat -A DFCA__SPACEX -d {} -j DFCA__LOGGING__SPACEX

sudo $ipt6 -t nat -L DFCA__SPACEX -n --line-numbers

sudo $ipt6-save -f /etc/iptables/$ipt6.rules      # Archlinux/Gentoo saving method, or
sudo service $ipt6 save                           # Debian saving method



 ##   CONGRATULTIONS! You have updated your list.




 #####
 #####
 #####















